Home > Article > Web Front-end > How to match image address and img tag with regular expression
这次给大家带来正则表达式怎么匹配图片地址与img标签的,正则表达式匹配图片地址与img标签的注意事项有哪些,下面就是实战案例,一起来看一下。
再上传表情或者图片地址时候很多时候不能直接上传<img src=" " />
,因此在上传评论或者图片之前应该先处理一下img标签。举例如下,希望可以帮助更多的程序猿~
<span style="font-size:14px;">//第一步是获取到带有img标签的字符串 var str = '图片1<img src="arclist/sanai.png">图片2<img src="arclist/em_23.gif">图片3<img src="arclist/451.gif">';</span>
处理获取到的字符串
<span style="font-size:14px;">//将img标签替换为特定编码方式的表达式 var reg = /<img[^>]*src[=\"\'\s]+[^\.]*\/([^\.]+)\.[^\"\']+[\"\']?[^>]*>/gi; str = str.replace(reg, "[face:$1.gif]"); console.log(str);</span>
运算结果为:
<span style="font-size:14px;">图片1[face:sanai.gif]图片2[face:em_23.gif]图片3[face:451.gif]</span>
这样上传到服务器的代码就不会存在html标签,这是一种很好的应对带有图片评论且上传信息禁止html标签的方法。
接下来:
从服务器上返回的上一步中的运行结果,在反向解析,方法如下:
<span style="font-size:14px;">//将特定编码方式替换成img标签的表达式 var regg = / face:([\w]+).gif /gi; str = str.replace(regg,"<img src='images/$1.gif' />"); console.log(str);</span>
运行结果为:
<span style="font-size:14px;">图片1<img src='images/sanai.gif' />图片2<img src='images/em_23.gif' />图片3<img src='images/451.gif' /></span>
下面附上代码的html页,可以全部复制粘贴到html文件中直接运行,亲测可用
<span style="font-size:14px;"><!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var str = '图片1<img src="arclist/sanai.png">图片2<img src="arclist/em_23.gif">图片3<img src="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='images/$1.gif' />"); console.log(str); </script> </body> </html></span>
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
The above is the detailed content of How to match image address and img tag with regular expression. For more information, please follow other related articles on the PHP Chinese website!