2017-01-04 12 views
-1

私は、メッセージを正規表現で絵文字に変換する機能を実行しようとしていました。それから私はこの機能を作ったが、動かない。すべてのヒント?for cycle and RegExp

HTML

<span class="message-text">:D</span> 

Javascriptを

function check() { 
     var allreg ={ 
      "/:D/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/18/2f/182fa3786046d170707fa46a257185cb.png'>'", 
      "/:C/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/c5/a5/c5a5a52fa1633e19ab2648f23ab1ee37.png'>'", 
      "/8+[)]/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/c1/2c/c12c7f3797ed8fcdcbedffb2649abfb1.png'>'", 
      "/:O/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/55/af/55af488f029266842c13a54d4c50fc11.png'>'", 
      "/:+[)]/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/be/22/be22105632cfc32abf7b24bed3924e12.png'>'", 
      "/._./": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/ce/1a/ce1a33d6a4535ce73c8b2b899d51071b.png'>'", 
      "/:heart:/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/3e/f0/3ef0aeaf797844b672df6198c53ba479.png'>'", 
      "/:P/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/43/be/43be98eee74f44eddec9c3137b1edf28.png'>'", 
      "/;P/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/7e/d5/7ed517c9f335c3171b6f92685514667a.png'>'", 
      "/;+[)]/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/58/be/58be1ae13dbf3fb471f7f598a0365734.png'>'", 
      "/:+[(]/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/0c/04/0c04f9fd77dc486724c269587028e7d2.png'>'", 
      "/.-./": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/e6/7c/e67c860bd5cd2b9b443516171ec3c6a3.png'>'", 
      "/-.-/": "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/c1/05/c105ab901e2fa6e67b38879bcc0ac0b0.png'>'", 
      "/:pepe:/": "'<img width='32px' height='32px' src='https://i.imgur.com/OE9Jb7b.png'>'" 
     } 
     var emval = [':D',':C','8)',':O',':)','._.',':heart:',':P',';P',';)',':(','.-.','-.-',':pepe:']; 
     for(var emoticon in allreg){ 
     var result = new RegExp(emoticon,'g'); 
     for(var i=0;i<=13;i++){ 
     $(".message-text:contains('"+emval[i]+"')").html(function (_,html) { 
      return html.replace(result,allreg[emoticon]); 
      }); 
      } 
     } 
    } 
    check(); 
+0

あなたは動作しません、まさに明確にすることはできますか? –

+0

私はクラスのメッセージテキストでスパンを持っているとしましょう。 spanにemvalリストのいずれかの文字が含まれている場合、置換メソッドを呼び出してテキストをそれぞれのイメージに変更する必要があります – Gabry

+0

あなた自身がすでに持っているコード(HTMLを含む) [mcve]の形で... –

答えて

2

RegExpコンストラクタは、パターンと 一致するテキストのための正規表現オブジェクトを作成します。

コンストラクタでは、正規表現のテキストを渡す必要があります。

new RegExp(":D",'g') 

allregオブジェクトのキーは正規表現を壊すため、スラッシュは必要ありません。

var allreg ={ ':D': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/18/2f/182fa3786046d170707fa46a257185cb.png'>'"} 

function checkemoji() { 
 
      var allreg ={ 
 
       ':D': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/18/2f/182fa3786046d170707fa46a257185cb.png'>'", 
 
       ':C': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/c5/a5/c5a5a52fa1633e19ab2648f23ab1ee37.png'>'", 
 
       '8+[)]': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/c1/2c/c12c7f3797ed8fcdcbedffb2649abfb1.png'>'", 
 
       ':O': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/55/af/55af488f029266842c13a54d4c50fc11.png'>'", 
 
       ':+[)]': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/be/22/be22105632cfc32abf7b24bed3924e12.png'>'", 
 
       '._.': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/ce/1a/ce1a33d6a4535ce73c8b2b899d51071b.png'>'", 
 
       ':heart:': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/3e/f0/3ef0aeaf797844b672df6198c53ba479.png'>'", 
 
       ':P': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/43/be/43be98eee74f44eddec9c3137b1edf28.png'>'", 
 
       ';P': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/7e/d5/7ed517c9f335c3171b6f92685514667a.png'>'", 
 
       ';+[)]': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/58/be/58be1ae13dbf3fb471f7f598a0365734.png'>'", 
 
       ':+[(]': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/0c/04/0c04f9fd77dc486724c269587028e7d2.png'>'", 
 
       '.-.': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/e6/7c/e67c860bd5cd2b9b443516171ec3c6a3.png'>'", 
 
       '-.-': "'<img width='32px' height='32px' src='http://emojipedia-us.s3.amazonaws.com/cache/c1/05/c105ab901e2fa6e67b38879bcc0ac0b0.png'>'", 
 
       ':pepe:': "'<img width='32px' height='32px' src='https://i.imgur.com/OE9Jb7b.png'>'" 
 
      } 
 
      var emval = [':D',':C','8)',':O',':)','._.',':heart:',':P',';P',';)',':(','.-.','-.-',':pepe:']; 
 
      for(var emoticon in allreg){ 
 
      var result = new RegExp(emoticon,'g'); 
 
      for(var i=0;i<=13;i++){ 
 
      $(".message-text:contains('"+emval[i]+"')").html(function (_,html) { 
 
       return html.replace(result,allreg[emoticon]); 
 
       }); 
 
       } 
 
      } 
 
     }  
 
checkemoji();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="message-text">:D :C :O</span>

+0

ありがとうVladu Ionut – Gabry