Signatur
Beschreibung
tidy_is_xhtml() prüft, ob das über die tidy-Erweiterung geparste Dokument als XHTML erkannt wurde. Dies ist nützlich, wenn eine Anwendung unterschiedlich auf HTML- und XHTML-Dokumente reagieren soll, z. B. beim Setzen des korrekten Content-Type-Headers oder beim Anpassen der Ausgabe-Serialisierung.
Die Funktion arbeitet auf einem bereits geparsten tidy-Objekt. Das Dokument muss also zuvor mit tidy_parse_string(), tidy_parse_file() oder der entsprechenden OOP-Methode eingelesen worden sein, bevor das Ergebnis aussagekräftig ist.
In der objektorientierten Schreibweise steht die Methode als $tidy->isXhtml() zur Verfügung und liefert dasselbe Ergebnis wie die prozedurale Variante.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $tidy Pflicht | tidy | Ein tidy-Objekt, das ein bereits geparste Dokument repräsentiert. |
Rückgabewert
true zurück, wenn das geparste Dokument ein XHTML-Dokument ist, andernfalls false.Beispiele
XHTML-Erkennung mit prozeduraler API
<?php
$html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Test</title></head>
<body><p>Hallo Welt</p></body>
</html>';
$tidy = tidy_parse_string($html);
if (tidy_is_xhtml($tidy)) {
echo "Das Dokument ist XHTML.";
} else {
echo "Das Dokument ist kein XHTML.";
}
XHTML-Erkennung mit OOP-API und Content-Type-Steuerung
<?php
$html = '<!DOCTYPE html>
<html>
<head><title>Test</title></head>
<body><p>Hallo Welt</p></body>
</html>';
$tidy = new tidy();
$tidy->parseString($html);
if ($tidy->isXhtml()) {
header('Content-Type: application/xhtml+xml; charset=utf-8');
echo "XHTML-Content-Type gesetzt.";
} else {
header('Content-Type: text/html; charset=utf-8');
echo "HTML-Content-Type gesetzt.";
}
// Wichtig · Fallstricke
Hinweis: Die Erkennung basiert auf dem DOCTYPE des Dokuments sowie dem verwendeten XML-Namespace. Fehlt ein expliziter XHTML-DOCTYPE, wird das Dokument in der Regel als HTML eingestuft, selbst wenn es syntaktisch valides XHTML wäre.
Die Funktion setzt eine installierte und aktivierte tidy-Erweiterung voraus. Ist diese nicht verfügbar, führt der Aufruf zu einem fatalen Fehler.