Ich möchte PHP Tidy verwenden, um sicherzustellen, dass mein XML gültig ist, bevor ich es in ein DomDocument lade.PHP Tidy entfernt Leerzeichen und fügt Zeilenumbrüche ein
aber ich weiß nicht Tidy will etwas meine Formatierung ändern - ich will es nur Probleme wie unausgeglichen Tags reparieren usw.
Ein Beispiel für das Problem kann auf dieser Seite zu sehen: http://www.tek-tips.com/viewthread.cfm?qid=1654452
Mein eigenes Beispiel ist das folgende.
Input: <ex><context>собр<stress>а</stress>ние</context> акцион<stress>е</stress>ров — <stress>aa</stress>ndeelhoudersvergadering</ex>
(die bereits gültige XML ist)
Erwartete Ausgabe: <ex><context>собр<stress>а</stress>ние</context> акцион<stress>е</stress>ров — <stress>aa</stress>ndeelhoudersvergadering</ex>
(es gibt zu brechen Leerzeichen zwischen </context>
und актион
)
tatsächliche Ausgang:
<ex>
<context>собр
<stress>а</stress>ние</context>акцион
<stress>е</stress>ров —
<stress>aa</stress>ndeelhoudersvergadering</ex>
(es entfernt der Abstand zwischen </context>
und актион
, der den Text unlesbar machen wird, und es neu eingefügt nach jedem Tag Linien)
Mein Code ist:
function TidyXml($inputXml)
{
$config = array(
'indent' => false,
'output-xml' => true,
'input-xml' => true,
);
$tidy = new tidy();
$tidy->parseString($inputXml, $config, 'utf8');
$tidy->cleanRepair();
$cleanXml = tidy_get_output($tidy);
return $cleanXml;
}
ich mehrere Möglichkeiten versucht, zu ändern, aber nicht gelang.
http: // ordentlich. sourceforge.net/docs/quickref.html#output-xml – hakre
PHP Einfacher HTML-DOM-Parser ist ein viel milderer Parser als die meisten anderen. http://simplethmdom.sourceforge.net/ – Petah
@hakre Ich habe alle Einstellungen außer '' input-xml '=> true' entfernt (benötigt, da sonst ein komplettes HTML-Dokument ausgegeben wird). Es hat jedoch nicht geholfen. Ich habe auch versucht, '' output-xml '=> false' zu setzen, aber das hat nicht geholfen. Kann etwas unternommen werden, um Abstreifen/Trimmen und Formatieren zu verhindern? –