DOMDocument + LIBXML_NOENT

0 Cevap php

Ben gibi temel biçimlendirme ile basit bir HTML dize dönüştürmek için çalışıyorum

<b>my html string</b><br/>
second line of my html string... etc

XHTML ilk, sonra DOMDocument ekleme ve html2fo.xsl dönüşüm stil kullanarak XSLFO dönüştürmek.

Sorun html dizesi olsun her özel karakter varlık olarak kodlanmış olduğunu, ve ben bir DOMDocument üzerinde yüklemeye çalıştığınızda i hatası alıyorum

DOMDocument::loadXML() [<a href='domdocument.loadxml'>domdocument.loadxml</a>]: Entity 'eacute' not defined in Entity, line: 7

Aslında benim son XSLFO dosyasını almak için xhtml html dönüştürmek için düzenli kütüphane kullanımı, ve sonra bir php xslt işlemci. Sorun ben LIBXML_NOENT özelliğini kullandığınızda bile, hata oluşur olmasıdır.

private static $tidyConfig      = array (
    'force-output'      => true,
    'clean'             => false,
    'output-xhtml'      => true,
    'show-body-only'    => false,
    'wrap'              => 0,
    'doctype'           => 'omit'
 );

$xp         = new XSLTProcessor();
$xmlDoc     = new Mv_Dom_Document();
$dirXslt        = $GLOBALS['G_config']['XSLT_STYLESHEETS'];
$aXsltSS        = GestionFichiers::getContenuRep($dirXslt, array(), null);
$tidyConfig     = (!is_null($tidyConfig)) ? $tidyConfig : Mv_Html_Utils::$tidyConfig;
$tidy       = new tidy();
$tidy->parseString($html, $tidyConfig);

// on convertit la chaine en XHTML
$tidy->cleanRepair();

// on la charge dans un DOMDocument
$xmlDoc->loadXML($tidy->value, LIBXML_NOENT);

0 Cevap