【发布时间】:2014-05-16 14:35:53
【问题描述】:
我想从下面的示例中获取 t 值,例如 558246017。
preg_match_all 函数无法做到这一点。
$str = '<a target="frameleft" href="Home.aspx?t=558246017">START</a>';
preg_match_all('/<a target="frameleft" href="Home.aspx?t=\d+">(.*?)<\/a>/si', $str, $matches);
print_r($matches);
请帮我解决这个问题。
【问题讨论】:
-
不要使用正则表达式解析 HTML。使用适当的 HTML 解析模块。 您无法使用正则表达式可靠地解析 HTML,并且您将面临悲伤和挫败感。一旦 HTML 与您的期望发生变化,您的代码就会被破坏。请参阅htmlparsing.com/php 或this SO thread,了解如何使用已经编写、测试和调试过的 PHP 模块正确解析 HTML。
标签: php html-parsing preg-match-all