PHP Как избежать этого предупреждения: DOMDocument :: loadHTML (): неверный символ в CDATA

Я пытаюсь собрать некоторую информацию из веб-службы, но у меня возникают проблемы с разделом CDATA страницы, потому что все идет хорошо, когда я использую что-то вроде этого:

$url = 'http://www.example.com';
$content = file_get_contents($url);
$doc = new DOMDocument();
$doc->loadHTML($content);

foreach($doc->getElementsByTagName('h3') as $subtitle) {
echo $subtitle->textContent; //The output is the Subtitle/s.
}

Но когда страница содержит разделы CDATA, возникает проблема с этой ошибкой в ​​строке $ doc-> loadHTML ($ content).

Warning: DOMDocument::loadHTML(): Invalid char in CDATA

Я видел здесь решение, которое я пытался реализовать без какого-либо успеха.

function sanitize_html($content) {
if (!$content) return '';
$invalid_characters = '/[^\x9\xa\x20-\xD7FF\xE000-\xFFFD]/';
return preg_replace($invalid_characters,'', $content);
}

$url = 'http://www.example.com';
$content = file_get_contents($url);
$cleanContent = sanitize_html($content);
$doc = new DOMDocument();
$doc->loadHTML($cleanContent); //Warning: DOMDocument::loadHTML(): htmlParseEntityRef: no name in Entity

Но я получил эту другую ошибку:

Warning: DOMDocument::loadHTML(): htmlParseEntityRef: no name in Entity

Что может быть хорошим способом справиться с разделами CDATA страницы? Привет.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector