我正在使用简单的 html dom 进行一些抓取,并想知道是否有一种方法可以一次性获取所有 H 标签的集合 - 即 H1 H2 H3 等...
某种程度的东西
$HTags = $html->find("h*");
然后我还需要确切知道它是哪个标签 -<H1> <H2>
等等。
任何帮助表示赞赏
我正在使用简单的 html dom 进行一些抓取,并想知道是否有一种方法可以一次性获取所有 H 标签的集合 - 即 H1 H2 H3 等...
某种程度的东西
$HTags = $html->find("h*");
然后我还需要确切知道它是哪个标签 -<H1> <H2>
等等。
任何帮助表示赞赏
你可以做类似的事情
foreach($html->find('h1,h2,h3') as $element){
试试 $xpath->query
例子:
/* The following example finds <h1> and <h2> tags in a html String and sets id to it. The html-code will be printed.*/
$html = "<h2>test2</h2><h1>test1</h1><h3>test3</h3>";
$dom = new DOMDocument();
@$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXpath($dom);
$htags = $xpath->query('//h1 | //h2');
foreach($htags as $htag)
$htag->setAttribute('id', 'test');
echo htmlentities($dom->saveHTML());