Для подавления ошибок синтаксического анализа, не используйте
@$dom->loadHTML(file_get_contents($link));
но
libxml_use_internal_errors(TRUE);
Кроме того, нет смысла использовать file_get_contents
. DOM может загружаться с удаленных ресурсов.
libxml_use_internal_errors(TRUE);
$dom->loadHTMLFile($link);
libxml_clear_errors();
Кроме того, имена тегов чувствительны к регистру. Вы запрашиваете <P>
, когда фрагмент содержит <p>
. Изменить на
$text = $dom->getElementsByTagName('p');
И, наконец, нет innerHTML
. Пользовательское решение для его получения находится в
Вы можете получить outerHTML
с помощью
$ret[] = $dom->saveHtml($tag); // requires PHP 5.3.6+
или
$ret[] = $dom->saveXml($tag); // that will make it XML compliant though
Чтобы получить текстовое содержимое тега P, используйте
$ret[] = $tag->nodeValue;