登录
立即注册
首页
>
绿虎论坛
>
杂类
>
超级灌水
(
发帖
)
关于一段正则匹配。。
Curtion
@Ta
2013-05-01
1926点击
已用file_get_contents获取到内容
我想让<div class="xxx">xxx</div>之类的全部消失
xxx代表任何字符
但是我这段输出就变空白了。
神马原因?
$body=preg_replace('!<div(.*)</div>!isuU','',$body);
隐藏样式
查看源码
回复列表(18|
隐藏机器人聊天
)
1
老虎会游泳
@Ta
/ 2013-02-22 /
样
/
源
@
Curtion
,首页的图片格式转换器,转换格式时可以修改图片大小。
2
夏夜-低调
@Ta
/ 2013-05-01 /
样
/
源
你这个正则匹配了全部
3
洋
@Ta
/ 2013-05-01 /
样
/
源
我一般用ism修饰……贪婪用?控制……
4
老虎会游泳
@Ta
/ 2013-05-01 /
样
/
源
@
Curtion
,我没有去探究,猜测:<div>是可以嵌套的,<div><div>你好</div></div>你好你好<div>你好你好你好</div>,这样会怎样?
5
洋
@Ta
/ 2013-05-01 /
样
/
源
你少了m,如果碰到多行文本就不行了
6
老虎会游泳
@Ta
/ 2013-05-01 /
样
/
源
@
夏夜
-低调,已经使用了模式修饰符U
7
洋
@Ta
/ 2013-05-01 /
样
/
源
我以前也碰到这样情况,我加入m就行了。贪婪控制一向用?号。不过……有时候会有?>,代码编辑器就不高亮了,:-D
8
老虎会游泳
@Ta
/ 2013-05-01 /
样
/
源
m (PCRE_MULTILINE)
默认情况下,PCRE 认为目标字符串是由单行字符组成的(然而实际上它可能会包含多行), "行首"元字符 (^) 仅匹配字符串的开始位置, 而"行末"元字符 ($) 仅匹配字符串末尾, 或者最后的换行符(除非设置了 D 修饰符)。这个行为和 perl 相同。 当这个修饰符设置之后,“行首”和“行末”就会匹配目标字符串中任意换行符之前或之后,另外, 还分别匹配目标字符串的最开始和最末尾位置。这等同于 perl 的 /m 修饰符。如果目标字符串 中没有 "\n" 字符,或者模式中没有出现 ^ 或 $,设置这个修饰符不产生任何影响。
9
洋
@Ta
/ 2013-05-01 /
样
/
源
嵌套问题,用递归吧,好在PHP 正则支持递归。好像R……啥的,看手册,百度,谷歌:-D
10
洋
@Ta
/ 2013-05-01 /
样
/
源
我以前也碰到这样情况,我加入m就行了。贪婪控制一向用?号。不过……有时候会有?>,代码编辑器就不高亮了,:-D
11
洋
@Ta
/ 2013-05-01 /
样
/
源
@
老虎会游泳
……我不敢后退了……后退就重复提交数据……
12
老虎会游泳
@Ta
/ 2013-05-01 /
样
/
源
@
Curtion
,虎绿林首页只有一个div,正常去除。
13
2
@Ta
/ 2013-05-01 /
样
/
源
@
Curtion
楼主真好学。。。
14
老虎会游泳
@Ta
/ 2013-05-01 /
样
/
源
还有,你用了貌似
15
老虎会游泳
@Ta
/ 2013-05-01 /
样
/
源
还有,你用了模式修饰符u,就必须是utf-编码的,不能是gbk编码的网页。
16
Curtion
@Ta
/ 2013-05-01 /
样
/
源
@
老虎会游泳
@
洋
经过你们的提醒,已找到问题所在,是网页编码问题 谢了
17
洋
@Ta
/ 2013-05-01 /
样
/
源
我都是把网页抓了,转换编码后再匹配的
18
夏夜-低调
@Ta
/ 2013-05-01 /
样
/
源
哦!!!
添加新回复
回复需要
登录
。
默认情况下,PCRE 认为目标字符串是由单行字符组成的(然而实际上它可能会包含多行), "行首"元字符 (^) 仅匹配字符串的开始位置, 而"行末"元字符 ($) 仅匹配字符串末尾, 或者最后的换行符(除非设置了 D 修饰符)。这个行为和 perl 相同。 当这个修饰符设置之后,“行首”和“行末”就会匹配目标字符串中任意换行符之前或之后,另外, 还分别匹配目标字符串的最开始和最末尾位置。这等同于 perl 的 /m 修饰符。如果目标字符串 中没有 "\n" 字符,或者模式中没有出现 ^ 或 $,设置这个修饰符不产生任何影响。