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

ホームページ  >  記事  >  バックエンド開発  >  PHP の規則性に関するパズルを解く方法

PHP の規則性に関するパズルを解く方法

WBOY
WBOYオリジナル
2016-06-13 13:33:36825ブラウズ

一段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 までご連絡ください。