如何使用regex获取<body>
标记内的整个内容?
例如,
<html><body><p><a href="#">xx</a></p>
<p><a href="#">xx</a></p></body></html>
我想只返回这个,
<p><a href="#">xx</a></p>
<p><a href="#">xx</a></p>
还是其他更好的想法?也许是DOM,但我必须使用saveHTML();
,然后它会返回doctype
和body
标记......
HTML Purifier使用起来很痛苦所以我决定不使用它。我认为正则表达式可能是我灾难的下一个最佳选择。
答案 0 :(得分:23)
preg_match("/<body[^>]*>(.*?)<\/body>/is", $html, $matches);
$matches[1]
将是正文标记的内容
答案 1 :(得分:1)
preg_match("~<body.*?>(.*?)<\/body>~is", $html, $match);
print_r($match);