技术员联盟提供win764位系统下载,win10,win7,xp,装机纯净版,64位旗舰版,绿色软件,免费软件下载基地!

当前位置:主页 > 教程 > 服务器类 >

正则表达式怎么处理图片地址、img标签

来源:技术员联盟┆发布时间:2017-09-29 06:27┆点击:

再上传表情或者图片地址时候很多时候不能直接上传<img src=http://www.3lian.com/edu/2017/05-22/" " />,因此在上传评论或者图片之前应该先处理一下img标签。举例如下,希望可以帮助更多的程序猿~

<span style=http://www.3lian.com/edu/2017/05-22/"font-size:14px;">//第一步是获取到带有img标签的字符串 var str = '图片1<img src=http://www.3lian.com/edu/2017/05-22/"arclist/sanai.png">图片2<img src=http://www.3lian.com/edu/2017/05-22/"arclist/em_23.gif">图片3<img src=http://www.3lian.com/edu/2017/05-22/"arclist/451.gif">';</span>

处理获取到的字符串

<span style=http://www.3lian.com/edu/2017/05-22/"font-size:14px;">//将img标签替换为特定编码方式的表达式 var reg = /<img[^>]*src[=\"\'\s]+[^\.]*\/([^\.]+)\.[^\"\']+[\"\']?[^>]*>/gi; str = str.replace(reg, "[face:$1.gif]"); console.log(str);</span>

运算结果为:

<span style=http://www.3lian.com/edu/2017/05-22/"font-size:14px;">图片1[face:sanai.gif]图片2[face:em_23.gif]图片3[face:451.gif]</span>

这样上传到服务器的代码就不会存在html标签,这是一种很好的应对带有图片评论且上传信息禁止html标签的方法。

接下来:

从服务器上返回的上一步中的运行结果,在反向解析,方法如下:

<span style=http://www.3lian.com/edu/2017/05-22/"font-size:14px;">//将特定编码方式替换成img标签的表达式 var regg = / face:([\w]+).gif /gi; str = str.replace(regg,"<img src='http://www.3lian.com/edu/2017/05-22/images/$1.gif' />"); console.log(str);</span>

运行结果为:

<span style=http://www.3lian.com/edu/2017/05-22/"font-size:14px;">图片1<img src='http://www.3lian.com/edu/2017/05-22/images/sanai.gif' />图片2<img src='http://www.3lian.com/edu/2017/05-22/images/em_23.gif' />图片3<img src='http://www.3lian.com/edu/2017/05-22/images/451.gif' /></span>

下面附上代码的html页,可以全部复制粘贴到html文件中直接运行,亲测可用

<span style=http://www.3lian.com/edu/2017/05-22/"font-size:14px;"><!DOCTYPE html> <html> <head> <meta charset=http://www.3lian.com/edu/2017/05-22/"UTF-8"> <title></title> </head> <body> <script> var str = '图片1<img src=http://www.3lian.com/edu/2017/05-22/"arclist/sanai.png">图片2<img src=http://www.3lian.com/edu/2017/05-22/"arclist/em_23.gif">图片3<img src=http://www.3lian.com/edu/2017/05-22/"arclist/451.gif">'; //将img标签替换为特定编码方式的表达式 var reg = /<img[^>]*src[=\"\'\s]+[^\.]*\/([^\.]+)\.[^\"\']+[\"\']?[^>]*>/gi; str = str.replace(reg, "[face:$1.gif]"); console.log(str); //将特定编码方式替换成img标签的表达式 var regg = / face:([\w]+).gif /gi; str = str.replace(regg,"<img src='http://www.3lian.com/edu/2017/05-22/images/$1.gif' />"); console.log(str); </script> </body> </html></span>