Я извлекаю некоторые строки html из своей базы данных, и я хотел бы проанализировать эти строки в своем DOMDocument. Проблема в том, что DOMDocument выдает предупреждения на специальные символы.
Предупреждение: DOMDocumentFragment::appendXML() [domdocumentfragment.appendxml]: Объект: строка 2: ошибка парсера: Объект 'nbsp' не определен в page.php в строке 189
Интересно, почему, и мне интересно, как это решить. Это некоторые фрагменты кода моей страницы. Как я могу исправить такие предупреждения?
$doc = new DOMDocument();
// .. create some elements first, like some divs and a h1 ..
while($row = mysql_fetch_array($result))
{
$messageEl = $doc->createDocumentFragment();
$messageEl->appendXML($row['message']); // gives it's warnings here!
$otherElement->appendChild($messageEl);
}
echo $doc->saveHTML();
Я также нашел кое-что о проверке, но когда я применяю это, моя страница больше не загружается. Код, который я пробовал для этого, был примерно таким.
$implementation = new DOMImplementation();
$dtd = $implementation->createDocumentType('html','-//W3C//DTD XHTML 1.0 Transitional//EN','http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd');
$doc = $implementation->createDocument('','',$dtd);
$doc->validateOnParse = true;
$doc->formatOutput = true;
// in the same whileloop, I used the following:
$messageEl = $doc->createDocumentFragment();
$doc->validate(); // which stopped my code, but error- and warningless.
$messageEl->appendXml($row['message']);
Заранее спасибо!
$row['message']
? - person Tomalak   schedule 10.01.2011echo $doc->saveHTML();
в конце? Это не имеет никакого смысла. Вы могли бы просто отобразить HTML на странице без всего XML-шаманства, или нет? - person Tomalak   schedule 10.01.2011