表情的处理问题:
要将表情替换成相应的图片
$.each(Expression.v5Emotions, function () {
var v5 = new RegExp("\\["+this.name+"\\]","g");
html = html.replace(v5, '<i class="icon" style="background:url(' + prefix + this.icon + suffix + ') center center no-repeat;background-size:100%;"></i>');
});
classfiedEmotions:[{"type":"0","icon":"f000","name":"呲牙"},{"type":"0","icon":"f001","name":"调皮"}];
也可以直接定义replaceAll方法:
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"),s2);
};
注意用法:如果不包含正则表达式的特殊字符,比如中括号[] , 大括号{} , 小括号(), 等等
可以直接用,如果有特殊字符的话:
要这样使用,比如:
var str = '我喜欢你[微笑]哈哈,你知道吗,[微笑]';
var str1 = str.replaceAll('\\[微笑\\]', '滚');
alert(str1);
还有一个特殊的点:
尖括号<>
我之前没注意,想替换<微笑>这种,但是匹配失败,匹配的文本是html()过来的,后来发现
<>是html的特殊字符,html()得到的内容不含<>,而是 < > 所以尖括号不存在。所以匹配不到