2016-04-26 19 views
2

私はJqueryを使い慣れています。私は先週から適切な助けを求めてきましたが、何も見つかりません。 jqueryを使用してテキストをスマイリーイメージに置き換えたいのですが、これをどのように実行するかわかりません。たとえば、このテキスト「私は感じている:happy;」を「私は<img src='happy_face.gif' />」と置き換え、「彼は:sick;」を「He is <img src='sick.gif' />」に置き換えます。ここ は、私がこれまでに得ているものですが、それはまだ代わりに、画像のテキストが表示されます。それは実際には非常に簡単です事前Jqueryを使用してテキストをスマイリーイメージに置き換えます。

+0

はStackOverflowのへようこそ!私たちはあなたがすでに試みたアプローチを投稿することを要請します。おかげでkingkode。 – kingkode

答えて

1

:) :(
<script src="js/jscript.js"></script> 
<script> 
var emotes = [ 
    [':happy;', 'happy.gif'], 
    [':sick;', 'sick.gif'] 
]; 

function applyEmotesFormat(body){ 
    for(var i = 0; i < emotes.length; i++){ 
     body = body.replace(new RegExp(emotes[i][0], 'gi'), '<img src="emotes/' + emotes[i][1] + '">'); 
    } 
    return body; 
} 

感謝。 あなたはHTMLのみで文字列のインスタンスを検索し、置き換えるために1行が必要: $("body").html($("body").html().replace(/:happy;/g,'<div class="happy-face"></div>'));

これは<div class="happy-face"></div>に置き換え:happy;$("body").html()$("body").html()を設定します。

/:happy;/gグローバル文字列:happy;を見つけるために、正規表現である(g

https://jsfiddle.net/heowqt1u/2/

+1

それは完全に働いた –

1

次のコードを使用することができます:ここでは例の作業

var a = [[':happy;','<img src="happy_face.gif" />'],[':sick;',"<img src='sick.gif' />"]]; 
a.forEach(function(item) { 
    $('p').each(function() { 
     var text = $(this).html(); 
     $(this).html(text.replace(item[0], item[1])); 
    }); 
}); 

を:Smiley codes replace

関連する問題