PHP正则表达式如何匹配HTML标签

PHP正则表达式如何匹配HTML标签,第1张

这个问题类似求括号配对. 用正则方法可能不行. 可以这样:

1) 字符串分析法求解: 建立一个计数器, 同时从前向后扫描 html 内容, 从要选择的段落开头开始, 每次读到一个 <td ..> 标签, 计数器加一, 每次读到一个 </td> 标签, 计数器减一, 如果 没有意外, 当计数器减为零时, 就找到了配对的 td 结束标签.

2) 用 XmlDocument 读取整段 html, 然后利用 DOM 的一系列方法选择出你要的内容.

<?php

$str = '<tr>

    <td rowspan="2" class="col">20150630 </td>

    <td class="col">AAAA </td>

    <td class="col">BBB</td>

    <td class="col">CCC</td>

    <td class="col">DDD</td>

  </tr>'

preg_match_all('/<td[^>]*>(.*?)<\/td>/is', $str , $matched)

print_r($matched[1])

exit


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7313385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存