登录  /  注册
正则表达式处理图片地址、img标签的方法总结分享
巴扎黑
发布: 2023-03-10 14:58:01
原创
852人浏览过

这篇文章主要介绍了正则表达式处理图片地址、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>
登录后复制

以上两种方法很好的解决的对img标签的正反运算,第一种方法为之前收集,不记得原作者,如有冒犯可以提出署名。后一种方法为本人自写,存在一定的局限性,欢迎大家讨论~

以上就是正则表达式处理图片地址、img标签的方法总结分享的详细内容,更多请关注php中文网其它相关文章!

来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学