> 백엔드 개발 > PHP 튜토리얼 > 正则能做出来吗?解决办法

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

WBOY
풀어 주다: 2016-06-13 12:56:58
원래의
820명이 탐색했습니다.

正则能做出来吗?

<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结束的
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿