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

Replacing text with smiley image using Jquery

本文关键字:笑脸 图像 文本替换 Jquery 使用      更新时间:2023-09-26

拜托伙计们,我是Jquery的新手。自上周以来,我一直在寻找合适的帮助,但我找不到任何帮助。我想使用 jquery 用笑脸图像替换文本,但我不知道如何运行它。例如,我希望将这段文字"我感觉:happy;"替换为"我感觉<img src='happy_face.gif' />",并将"他正在:sick;"替换为"他<img src='sick.gif' />"。这是我到目前为止得到的,但它仍然显示文本而不是图像:

    :)   :(
<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 中查找和替换字符串实例: $("body").html($("body").html().replace(/:happy;/g,'<div class="happy-face"></div>'));

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

/:happy;/g是正则表达式,用于全局查找字符串:happy;g

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

您可以使用

以下代码:

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]));
    });
});

此处的工作示例:笑脸代码替换