0
<a href="http://www.example.com/5809/book>Origin of Species</a>
<a href="http://www.example.com/author/id=124>Darwin</a>
<a href="http://www.example.com/196/genres>Science, Biology</a>
<span class="Xbkznofv">24/11/1859</span>
我該如何在標籤上使用XPath查詢ID號從HREF?
欲導致這樣例如:
5809,124,196,24/11/1859
PHP代碼
$url = 'http://www.example.com/Books/Default.aspx';
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xpath = new DOMXpath($doc);
$elements1 = $xpath->query('//a[contains(@href, "www.example.com/Book/")]');
$elements2 = $xpath->query('//a[contains(@href, "www.example.com/author/id=")]');
$elements3 = $xpath->query('//a[contains(@href, "www.example.com/genres/")]');
$elements4 = $xpath->query('//span[contains(@class, "")]');
if (!is_null($elements)) {
foreach ($elements as $element) {
echo "<br/>". "";
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "\n";
}
}
}
非常感謝你。還有一件事...如何使這個例子在foreach循環函數中爲多個書籍,作者... 和結果是以逗號分隔的格式? –
DOMXpath :: evaluate()的第二個參數是上下文節點。你需要做一些像'$ xpath-> evaluate('string(.// a)',$ outerNode)''。 './/是當前上下文節點的後代。對於CSV寫入,請查找'fputcsv()'。 – ThW
我剛開始學習。如果你可以寫一個簡單的例子...如果你不忙?這對我很重要。 –