我想學習使用DOMDocument解析HTML代碼。DOMDocument解析HTML(而不是正則表達式)
我只是做了一些簡單的工作,我已經喜歡戈登的回答scrap data using regex and simplehtmldom,並根據他的工作我的代碼。
由於信息有限,幾乎沒有任何示例,我發現PHP.net上的文檔不太好,大多數細節都基於解析XML。
<?php
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTMLFile('http://www.nu.nl/internet/1106541/taalunie-keurt-open-sourcewoordenlijst-goed.html');
libxml_clear_errors();
$recipe = array();
$xpath = new DOMXPath($dom);
$contentDiv = $dom->getElementById('page'); // would have preferred getContentbyClass('content') (unique) in this case.
# title
print_r($xpath->evaluate('string(div/div/div/div/div/h1)', $contentDiv));
# content (this is not working)
#print_r($xpath->evaluate('string(div/div/div/div['content'])', $contentDiv)); // if only this worked
print_r($xpath->evaluate('string(div/div/div/div)', $contentDiv));
?>
出於測試目的,我試圖獲取nu.nl新聞文章的標題(h1標籤)和內容(HTML)。
正如你所看到的,我可以得到標題,雖然我對評估字符串並不滿意,因爲它恰好是該div級別上唯一的h1標記。
你爲什麼不在xpath字符串中搜索'h1'? –