Özel karakterler ile DOMDocument appendXML

0 Cevap php

Benim veritabanından bazı html dizeleri retreiving yaşıyorum ve benim DOMDocument içine bu dizeleri ayrıştırmak istiyorum. Sorun DOMDocument özel karakter uyarılar verir olmasıdır.

Warning: DOMDocumentFragment::appendXML() [domdocumentfragment.appendxml]: Entity: line 2: parser error : Entity 'nbsp' not defined in page.php on line 189

Acaba neden ve ben bu çözmek için nasıl merak ediyorum. Bu benim sayfanın bazı kod parçaları vardır. Ben uyarılar bu tür nasıl düzeltebilirim?

$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();

Ben de doğrulama hakkında bir şey buldum, ama ben bu uyguladığınızda, benim sayfa artık yük olmaz. Bunun için denedim kod böyle bir şey oldu.

$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']);

Şimdiden teşekkürler!

0 Cevap