私は:)
のような笑顔の文字を画像に置き換えています。私だけを使用する場合複数の置換チェックを実行すると正しく置換されないのはなぜですか?
var yorum4 = "hello :)";
yorum4 = yorum4.replace(/(:\))/g, "<img class='smileys' src='smile.png' \/>");
正しく置き換えられます。私はそれが
<img src="http<img class="
のように破損して出力
yorum4 = yorum4.replace(/(:\))/g, "<img class='smileys' src='smile.png' \/>");
yorum4 = yorum4.replace(/(:\()/g, "<img class='smileys' src='smile1.png' \/>");
yorum4 = yorum4.replace(/(;\))/g, "<img class='smileys' src='smile2.png' \/>");
、複数の置き換えのためにこれを使用する場合ただし、複数の笑顔を交換するための正しい方法は何ですか?
編集:ここに完全なリストが
yorum4 = yorum4.replace(/(:\))/g, "<img class='smileys' src='i.png' \/>");
yorum4 = yorum4.replace(/(;\))/g, "<img class='smileys' src='j.png' \/>");
yorum4 = yorum4.replace(/(:\p)/g, "<img class='smileys' src='b.png' \/>");
yorum4 = yorum4.replace(/(:\P)/g, "<img class='smileys' src='b.png' \/>");
yorum4 = yorum4.replace(/(:\D)/g, "<img class='smileys' src='c.png' \/>");
yorum4 = yorum4.replace(/(:\d)/g, "<img class='smileys' src='c.png' \/>");
yorum4 = yorum4.replace(/(:'\()/g, "<img class='smileys' src='d.png' \/>");
yorum4 = yorum4.replace(/(:\*)/g, "<img class='smileys' src='a.png' \/>");
yorum4 = yorum4.replace(/(<\3)/g, "<img class='smileys' src='f.png' \/>");
yorum4 = yorum4.replace(/(:\o)/g, "<img class='smileys' src='he.png' \/>");
yorum4 = yorum4.replace(/(:\O)/g, "<img class='smileys' src='e.png' \/>");
yorum4 = yorum4.replace(/(:\()/g, "<img class='smileys' src='s.png' \/>");
別々に:複数のパスを作る代わりに、コールバック関数を呼び出すために 'replace'を使うことを検討するかもしれません。次のようにします。https://jsfiddle.net/mtvpptz8/1/ –
3回目の置換でエスケープされていないセミコロンがあると、スクリプトが壊れている可能性があります。 – Dez
正しく動作しています – cralfaro