1

我可以使用 Simple HTML Dom 获取两个 html 注释之间的数据吗?

例如,参见下面的代码:

<!-- start of comment -->

<a href="link1.html" target="_blank">link1</a><br />
<a href="link2.html" target="_blank">link2</a><br />
<a href="link3.html" target="_blank">link3</a><br />
<a href="link4.html" target="_blank">link4</a><br />


<!-- end of comment-->

<a href="link5.html" target="_blank">link5</a><br />
<a href="link6.html" target="_blank">link6</a><br />

总共有 6 个链接,只有 4 个链接包含在“”和“”标签内。

我只想获取评论标签之间的链接。

4

2 回答 2

1

你可以这样做:

//get all comments
$comments = $html->find('comment');

...并用于next_sibling()获取下一个元素并检查它是否是锚标记,直到您获得另一个注释标记,脚本将在该标记处终止。

于 2013-03-29T05:16:01.037 回答
0

试试这个代码

$dom = new DOMDocument();
$dom->loadHTML($html);

$elements = $dom->getElementsByTagName('a');
foreach ($elements as $child) {
    echo $child->nodeValue;
}
于 2013-03-29T05:19:55.870 回答