Home  >  Article  >  Backend Development  >  正则能做出来吗?解决办法

正则能做出来吗?解决办法

WBOY
WBOYOriginal
2016-06-13 11:11:05809browse

正则能做出来吗?

<br />$str='1 A内容ZA 2 A内容ZA 3';<br />echo preg_replace('/A.*ZA/i','',$str);	<br />exit();<br />


兄弟们,我上面的正则想把 A至AZ之间的内容替换掉,剩下 1 2 3。这个正则如何写呢?

上面的例子,只是我做的一个小例子,用来说明我想要实现的功能。实际上我是在HTML文档中做替换的,要把我自定义的代码块替换掉,求解。如

<br /><!--BLOCK1--><br />内容<br /><!--BLOCK1--><br /><br />其它内容<br /><br /><!--BLOCK1--><br />内容<br /><!--BLOCK1--><br />


如果用我上面的方法,直接从第一个标签干到最后一个,中间的其它内容全没了,能不能不没啊。求高手


------解决方案--------------------
哎,兄弟你已经对了99%了,加个防贪婪就可以了
echo preg_replace('/A.*ZA/iU','',$str);这样就OK了
------解决方案--------------------
楼上的或者 在/i后面加修正符U,就是/iU,注意是大写,和楼上一样,指的是用非贪婪方式,就是匹配到第一个za出现就结束;正则默认是贪婪方式,是匹配到最后一个za结束的
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn