0

尝试使用此运算符查找所有 HTML <table> 行,但没有:

preg_match_all("#<tr[^>]*>.*</tr>#", $content, $matches);

怎么了?

4

3 回答 3

4
preg_match_all ('#<tr[^>]*>(.*?)</tr>#s')

添加了“s”标志,以便它也匹配换行符,匹配的问号(惰性),还添加了括号(捕获组)。

于 2012-08-07T13:52:29.417 回答
3

我认为使用PHP HTML 解析器会取得更大的成功。

于 2012-08-07T13:50:34.907 回答
3

除非您遇到复杂的递归表达式,否则任何正则表达式都会遇到嵌套表的问题。

试试这个:

$dom = new DOMDocument();
$dom->loadHTML($content);
$matches = $dom->getElementsByTagName("tr");
$count = $matches->length;
于 2012-08-07T13:51:35.593 回答