<(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(. ?)(.jpg|.JPG|.gif|.GIF|.png|.PN"/> <(img|IMG) (.*?)(src|SRC)=('|"|\\"|)(. ?)(.jpg|.JPG|.gif|.GIF|.png|.PN">

首页 >后端开发 >php教程 >一段PHP正则的不解,该如何解决

一段PHP正则的不解,该如何解决

WBOY
WBOY原创
2016-06-13 10:19:55862浏览

一段PHP正则的不解

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$zz2="/\<(a|A) (.*?)(href|Href)=('|\"|\\\\\"|)(.+?)><(img|IMG) (.*?)(src|SRC)=('|\"|\\\\\"|)(.+?)(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP|.jpeg|.JPEG)(.*?)><\/(a|A)>/is";$text=preg_replace($zz2,"<\\6 \\7\\8=\\9\\10\\11\\12>",$text);

阅读这段"去掉图片链接"的PHP代码,
下面是对代码的一些不解:
1. 开头处 \< 的\是字符转义,但是<这个字符不是元字符,为什么要用\来转义呢?
2.后面已经有is指明不区分大小写了,前面还有必要用组合来区分(a|A)大小写吗?

------解决方案--------------------
这段正则写的太过冗长,你的理解是正确的
------解决方案--------------------
1: 加与不加都可以。
2:没有必要了。写一个即可。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn