2014年03月21日 21:54:45

正则匹配td标签内容

作者: 
源码:
<TD align="middle" bgColor="#FFFFFF">5</TD>
<TD align="left" bgColor="#ffffff">饶丽丽</TD>
<TD align="middle" bgColor="#ffffff">312</TD>

正则:
<td[^>]*?>(.*?)</td>\s*<td[^>]*?>(.*?)</td>\s*<td[^>]*?>(.*?)</td>

解析:
(1)“<td”、td标签结束">"和td标签闭合</td>作为锚点,其他无关内容使用通配符替换;

(2)本例3个td的匹配是同样的,由于一些语言不支持循环匹配的提取,因此这里要一个个列出来;

(3)"<td"到">"之间不可能出现>符号,因此使用[^>]*?匹配所有的字符;

(4)"<td>" 和 “</td>”之间可能有其他的标签,如<span>Text</span>,

因此不能再使用[^>]*?这样的通配符,改用“.”,匹配所有字符(不包括换行),

如果要让“.”匹配换行,在php语言里使用模式修正符“s”实现,

如:$pattern = '#<td[^>]*?>(.*?)</td>#is';

(5)\s* 匹配多个td标签之间的空格


未经同意禁止转载!
转载请附带本文原文地址:正则匹配td标签内容,首发自 Zjmainstay学习笔记
阅读( 10571 )
看完顺手点个赞呗:
(1 Vote)

1.PHP cURL群:PHP cURL高级技术
2.正则表达式群:专精正则表达式
3. QQ联系(加请说明):QQ联系博主(951086941)
4. 邮箱:zjmainstay@163.com
5. 打赏博主:

网站总访问量: