首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

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

2013-01-18 
正则能做出来吗?$str1 A内容ZA 2 A内容ZA 3echo preg_replace(/A.*ZA/i,,$str)exit()兄弟们,我

正则能做出来吗?


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


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

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


<!--BLOCK1-->
内容
<!--BLOCK1-->

其它内容

<!--BLOCK1-->
内容
<!--BLOCK1-->


如果用我上面的方法,直接从第一个标签干到最后一个,中间的其它内容全没了,能不能不没啊。求高手
[解决办法]
哎,兄弟你已经对了99%了,加个防贪婪就可以了
echo preg_replace('/A.*ZA/iU','',$str);这样就OK了
[解决办法]
楼上的或者 在/i后面加修正符U,就是/iU,注意是大写,和楼上一样,指的是用非贪婪方式,就是匹配到第一个za出现就结束;正则默认是贪婪方式,是匹配到最后一个za结束的

热点排行