尝试查找所有HTML< table>使用此运算符的行,但没有:
preg_match_all("#<tr[^>]*>.*</tr>#", $content, $matches);
出了什么问题?
答案 0 :(得分:4)
preg_match_all ('#<tr[^>]*>(.*?)</tr>#s')
添加了“s”标志,以便它也匹配换行符,匹配的问号(懒惰),还添加了括号(捕获组)。
答案 1 :(得分:3)
我认为使用PHP HTML parser可以获得更多成功。
答案 2 :(得分:3)
任何正则表达式都会遇到嵌套表的问题,除非你遇到复杂的递归表达式。
请改为尝试:
$dom = new DOMDocument();
$dom->loadHTML($content);
$matches = $dom->getElementsByTagName("tr");
$count = $matches->length;