【www.bbyears.com--正则表达式】
再上传表情或者图片地址时候很多时候不能直接上传,因此在上传评论或者图片之前应该先处理一下img标签。举例如下,希望可以帮助更多的程序猿~
//第一步是获取到带有img标签的字符串
varstr ='图片1图片2图片3';
处理获取到的字符串
//将img标签替换为特定编码方式的表达式
varreg = /]*src[=\"\'\s]+[^\.]*\/([^\.]+)\.[^\"\']+[\"\']?[^>]*>/gi;
str = str.replace(reg, "[face:$1.gif]");
console.log(str);
运算结果为:
图片1[face:sanai.gif]图片2[face:em_23.gif]图片3[face:451.gif]
这样上传到服务器的代码就不会存在html标签,这是一种很好的应对带有图片评论且上传信息禁止html标签的方法。
接下来:
从服务器上返回的上一步中的运行结果,在反向解析,方法如下:
//将特定编码方式替换成img标签的表达式
varregg = /
face:([\w]+).gif
/gi;
str = str.replace(regg,"");
console.log(str);
运行结果为:
图片1图片2图片3
下面附上代码的html页,可以全部复制粘贴到html文件中直接运行,亲测可用
<script>
varstr ='图片1图片2图片3';
//将img标签替换为特定编码方式的表达式
varreg = /]*src[=\"\'\s]+[^\.]*\/([^\.]+)\.[^\"\']+[\"\']?[^>]*>/gi;
str = str.replace(reg, "[face:$1.gif]");
console.log(str);
//将特定编码方式替换成img标签的表达式
var regg = /
face:([\w]+).gif
/gi;
str = str.replace(regg,"");
console.log(str);
</script>
以上两种方法很好的解决的对img标签的正反运算,第一种方法为之前收集,不记得原作者,如有冒犯可以提出署名。