2016-11-08 8 views
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>

+1

試し 'STR = str.replace(新しい正規表現( "(" + ranges.join( '|')+ ")|。"、 'G')、 '$ 1' ); '。または、タグを保持するには、 'str = str.replace(new RegExp(" <[^<]*?> "+ ranges.join( '|')+")|。 "、 'g')、 '$ 1'); ' –

+0

良い答え、@WiktorStribiżew - あなたは1つとして投稿する必要があります! – Bill

答えて

0

だけstr.match()str.replace()を交換!

私はあなたの答えからこのスニペットをコピーしており、<ul>のhtml全体を取得して置き換えていることに注意してください。これには、<li>要素が含まれます。

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.match(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>

関連する問題