Почему я не получаю ничего, когда я отражаю результаты в этом коде:
$result1 = '<HTML><HEAD><TITLE>Moved Temporarily</TITLE></HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"><H1>Moved Temporarily</H1>The document has moved <A HREF="https://accounts.google.com/ServiceLogin?service=lso&">here</A>.</BODY></HTML>';
$dom = new DOMDocument;
$dom->loadHTML($result1);
$items = $dom->getElementsByTagName('HEAD');
echo $items->item(0); // error
Вы должны использовать имена тегов в нижнем регистре:
$result1 = '<HTML><HEAD><TITLE>Moved Temporarily</TITLE></HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"><H1>Moved Temporarily</H1>The document has moved <A HREF="https://accounts.google.com/ServiceLogin?service=lso&">here</A>.</BODY></HTML>';
$dom = new DOMDocument;
$dom->loadHTML($result1);
$items = $dom->getElementsByTagName('head');
^^^
Sidenote: Всегда включайте отчеты об ошибках для получения полезной информации:
error_reporting(E_ALL);
ini_set('display_errors', '1');
Вы не можете откликнуться напрямую, так как это возвращает классы DOM.
Чтобы зациклить над детьми:
echo '<pre>';
foreach($items->item(0)->childNodes as $child) {
print_r($child); // most likely this will show you the child `<title>` node
}
Других решений пока нет …