gpt4 book ai didi

Javascript 正则表达式用表情符号替换文本

转载 作者:行者123 更新时间:2023-11-30 11:56:01 25 4
gpt4 key购买 nike

我需要用表情符号替换 ;):p 等文本,但我无法创建正则表达式来检测这一点。现在我只能检测到 :wink:

function replaceEmoticons(text) {
var emots = {
";)": "wink",
":)": "xxx",
":p": "xxx",

};

return text.replace(/:(.*?):/g, function (match) {
return typeof emots[match] != 'undefined' ?
'<img src="http://localhost:8080/'+emots[match]+'.png"/>' :
match;
});
}

什么是好的正则表达式?

最佳答案

尝试以下操作。但是,在制作正则表达式时,您应该转义表情符号中的特殊字符 ( 和 )。

//转义正则表达式中特殊字符的帮助函数

function RegExpEscape(text) {
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
}

function replaceEmoticons(text) {
var emoticons = {
':)' : 'smile.gif',
':(' : 'sad.gif',
';)' : 'wink.gif'


}

var result = text;
var emotcode;
var regex;

for (emotcode in emoticons)
{
regex = new RegExp(RegExpEscape(emotcode), 'gi');
result = result.replace(regex, function(match) {
var pic = emots[match.toLowerCase()];

if (pic != undefined) {
return '<img src="' + pic + '"/>';
} else {
return match;
}
});
}

return result;
}

关于Javascript 正则表达式用表情符号替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37953761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com