问下php的正则 递归匹配 html标签问题。

xuanskyer 发布于 2013/05/09 15:09
阅读 613
收藏 1
PHP

RT:

php的正则 怎么实现:匹配任意层嵌套的html标签呢?

我看30分钟的正则教程里面说到了用平衡组语法,php似乎不支持。

鸟哥的博客里面有说到php的递归,没太看明白。。。

有哪位高手写过的,来指导下,或者给个思路吧~多谢!

PS:写了一个:#(?:(?:<([a-zA-Z]+)[^>]*>[^<>]*)(?R)*</\\1>)|<(?:[a-zA-Z]+)[^>]*/>#

匹配还是不太理想啊~

加载中
0
皮总
皮总

很不适用!!! 用 XPATH 来做

xuanskyer
xuanskyer
皮总,具体的讲一讲嘛~
0
皮总
皮总
http://www.w3school.com.cn/php/func_simplexml_xpath.asp
xuanskyer
xuanskyer
大概看了下,这个对于html文件操作起来还行。但是,如果我是想对一段文本进行匹配呢?这个好像不行 啊~
xuanskyer
xuanskyer
我来研究研究~
0
南湖船老大
南湖船老大

PHP 正则有个 递归模式R,看看手册,是否能满足你

http://www.php.net/manual/en/regexp.reference.recursive.php

xuanskyer
xuanskyer
@阿尔法兽 多谢兽哥(还是兽姐?)!
xuanskyer
xuanskyer
比如:我这样写:#(<div[^>]*>[^<>]*)(?R)*</div># 匹配还是不完整……
南湖船老大
南湖船老大
回复 @xuanskyer : http://iregex.org/blog/regex-books.html 此人为正则第一人,向他请教吧
皮总
皮总
回复 @xuanskyer : 这个太要求格式对称了!
xuanskyer
xuanskyer
你说的递归模式我在鸟哥的博客里面看了,但是还是不太明白怎么用啊~
0
宏哥
宏哥

引用来自“皮总”的答案

很不适用!!! 用 XPATH 来做

我加入上海加不进, 

有bug

皮总
皮总
已发邀请
返回顶部
顶部