Signatur
Beschreibung
tidy_is_xml() prüft, ob das übergebene tidy-Objekt ein generisches XML-Dokument enthält – also kein HTML oder XHTML, sondern reines XML. Die Funktion ist nützlich, wenn man nach dem Parsen eines unbekannten Dokuments ermitteln möchte, welche Art von Inhalt vorliegt, um die Weiterverarbeitung entsprechend anzupassen.
Intern wertet Tidy den Dokumenttyp aus, den es beim Parsen erkannt hat. Handelt es sich dabei um ein Nicht-HTML/XHTML-Dokument (z. B. ein reines XML-Dokument ohne DOCTYPE oder mit einem XML-spezifischen Namespace), gibt die Funktion true zurück.
Die Funktion kann sowohl als objektorientierte Methode ($tidy->isXml()) als auch als prozedurale Funktion (tidy_is_xml($tidy)) aufgerufen werden. Sie ergänzt ähnliche Hilfsfunktionen wie tidy_is_xhtml(), um eine vollständige Klassifizierung des geparsten Dokuments zu ermöglichen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $tidy Pflicht | tidy | Ein tidy-Objekt, das das zuvor geparste Dokument repräsentiert. |
Rückgabewert
true zurück, wenn das geparste Dokument ein generisches XML-Dokument ist (kein HTML oder XHTML), andernfalls false.Beispiele
Grundlegende Verwendung mit einem XML-Dokument
<?php
$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>Eintrag 1</item>
<item>Eintrag 2</item>
</root>';
$tidy = new tidy();
$tidy->parseString($xmlString, ['input-xml' => true], 'utf8');
$tidy->cleanRepair();
if (tidy_is_xml($tidy)) {
echo "Das Dokument ist ein generisches XML-Dokument.";
} else {
echo "Das Dokument ist kein generisches XML-Dokument.";
}
?>
Objektorientierte Verwendung und Vergleich mit HTML
<?php
$htmlString = '<!DOCTYPE html>
<html>
<head><title>Test</title></head>
<body><p>Hallo Welt</p></body>
</html>';
$xmlString = '<?xml version="1.0"?>
<catalog>
<book id="1"><title>PHP-Buch</title></book>
</catalog>';
$tidyHtml = new tidy();
$tidyHtml->parseString($htmlString, [], 'utf8');
$tidyHtml->cleanRepair();
$tidyXml = new tidy();
$tidyXml->parseString($xmlString, ['input-xml' => true], 'utf8');
$tidyXml->cleanRepair();
echo "HTML-Dokument ist XML: " . ($tidyHtml->isXml() ? 'ja' : 'nein') . PHP_EOL;
echo "XML-Dokument ist XML: " . ($tidyXml->isXml() ? 'ja' : 'nein') . PHP_EOL;
?>
// Wichtig · Fallstricke
Hinweis zur Konfiguration: Damit Tidy ein XML-Dokument korrekt als solches erkennt, sollte beim Parsen die Option input-xml auf true gesetzt werden. Ohne diese Option könnte Tidy das Dokument als HTML interpretieren und tidy_is_xml() gibt unter Umständen false zurück, obwohl es sich um XML handelt.
Verfügbarkeit: Die Tidy-Erweiterung muss beim Kompilieren von PHP aktiviert worden sein (--with-tidy) oder über eine entsprechende Paketverwaltung installiert sein. Andernfalls stehen weder die Funktion noch die Klasse zur Verfügung.