使用Jquery用笑脸图像替换文本

时间:2016-04-26 15:33:25

标签: javascript jquery html

请大家,我是Jquery的新手。自上周以来,我一直在寻找合适的帮助,但我找不到任何帮助。我想用jquery用笑脸图像替换文本,但我不知道如何运行它。例如,我想要这个文字&#34;我感觉:happy;&#34;被#34替换;我感觉<img src='happy_face.gif' />&#34;和#34;他是:sick;&#34;将被替换为&#34;他是<img src='sick.gif' />&#34;。 这是我到目前为止所得到的,但它仍然显示文本而不是图像:

    :)   :(
<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;
}

提前致谢

2 个答案:

答案 0 :(得分:1)

实际上非常简单。 您只需要一行来查找和替换HTML中的字符串实例: $("body").html($("body").html().replace(/:happy;/g,'<div class="happy-face"></div>'));

这会将$("body").html()设置为$("body").html():happy;替换为<div class="happy-face"></div>

/:happy;/g是RegEx全局查找字符串: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