我正在尝试从html字符串中检索<h1>
开始标记。我想要包含从<h1
到>
的所有内容。
现在我正在尝试这样做,但是它似乎导致了编码问题,因为当我打印生成的$ html utf-8字符显示错误时:
$dom = new DOMDocument();
$dom->loadHTML($html);
//Evaluate Anchor tag in HTML
$xpath = new DOMXPath($dom);
$elements = $xpath->evaluate("/html/body//h1");
for ($i = 0; $i < $elements->length; $i++) {
print_r($elements->item($i));
}
// save html
$html=$dom->saveHTML();
如何确保它包含>
关闭之前的所有内容?
答案 0 :(得分:1)
不是专家,但我做到了:
<h1( [^>]*(["'].*["'])\1*)?>
这是我的测试:
更新1:
<h1\s*>|(.*=['"]*[^'"]*['"]*)>
更新2:
<h1(.+=((['"]+[^'"]*['"]+)|[0-9]+))*\s*>
我建模了应支持h1标签的内容。