0
この関数は現在、regexを使って文字列からすべての絵文字を削除します。これを逆にして、絵文字から離れたすべての文字を削除する方法はありますか?emoji以外の文字列からすべての文字を削除する方法
var ranges = [
'\ud83c[\udf00-\udfff]', // U+1F300 to U+1F3FF
'\ud83d[\udc00-\ude4f]', // U+1F400 to U+1F64F
'\ud83d[\ude80-\udeff]' // U+1F680 to U+1F6FF
];
function removeEmoji() {
var str = $('#emoji').html();
str = str.replace(new RegExp(ranges.join('|'), 'g'), '');
$("#emoji").html(str);
}
$('button').on('click', function() {
removeEmoji();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="emoji">
<li></li>
<li>or Smiling Face</li>
<li>or Smiling Face</li>
<li>or Smiling Face</li>
<li></li>
<li>or Smiling Face</li>
<li>or Smiling Face</li>
<li>or Smiling Face</li>
</ul>
<button>Push Me</button>
試し 'STR = str.replace(新しい正規表現( "(" + ranges.join( '|')+ ")|。"、 'G')、 '$ 1' ); '。または、タグを保持するには、 'str = str.replace(new RegExp(" <[^<]*?> "+ ranges.join( '|')+")|。 "、 'g')、 '$ 1'); ' –
良い答え、@WiktorStribiżew - あなたは1つとして投稿する必要があります! – Bill