1 回答

TA貢獻2039條經驗 獲得超8個贊
必須相對于給定的上下文節點選擇評論。
xpath 表達式中的//(descendant-or-self) 前綴選擇節點中任何位置的每個注釋,無論上下文如何。
我建議使用.//(self, descendant-or-self) xpath 表達式進行相對搜索,以在提供的上下文中進行搜索。
例如,
<?php
$xml = <<< XML
<!-- FIRST -->
<div id="parent">
<!-- SECOND -->
<span id="child">
<!-- THIRD -->
</span>
</div>
XML;
$dom = new DOMDocument;
$dom->loadHTML($xml);
$xpath = new DOMXpath($dom);
文檔中的所有評論
<?php
$comments = $xpath->query('.//comment()', $dom);
foreach($comments as $comment){
echo $comment->nodeValue.PHP_EOL;
}
FIRST
SECOND
THIRD
評論區里的所有評論div#parent
<?php
$el = $dom->getElementById('parent');
$comments = $xpath->query('.//comment()', $el);
foreach($comments as $comment){
echo $comment->nodeValue.PHP_EOL;
}
SECOND
THIRD
中的所有評論span#child
<?php
$el = $dom->getElementById('child');
$comments = $xpath->query('.//comment()', $el);
foreach($comments as $comment){
echo $comment->nodeValue.PHP_EOL;
}
THIRD
- 1 回答
- 0 關注
- 160 瀏覽
添加回答
舉報