2

我正在使用简单的 html dom 进行一些抓取,并想知道是否有一种方法可以一次性获取所有 H 标签的集合 - 即 H1 H2 H3 等...

某种程度的东西

$HTags = $html->find("h*");

然后我还需要确切知道它是哪个标签 -<H1> <H2>等等。

任何帮助表示赞赏

4

2 回答 2

4

你可以做类似的事情

foreach($html->find('h1,h2,h3') as $element){
于 2012-05-22T11:28:04.730 回答
1

试试 $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());
于 2021-05-31T20:34:24.500 回答