Я пытаюсь научиться использовать DOMDocument для анализа HTML-кода.
Я просто делаю простую работу, мне уже понравился ответ Гордона о данных лома с использованием regex и 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));
?>
В целях тестирования я пытаюсь получить заголовок (между тегами h1) и контент(HTML) новостной статьи nu.nl.
Как вы можете видеть, я могу получить заголовок, хотя я даже не настолько доволен этой строкой оценки, так как она оказалась единственным тегом h1 на этом уровне div.