Signatur
Beschreibung
tidy_get_status() liefert nach dem Parsen oder Bereinigen eines HTML/XHTML-Dokuments mit der Tidy-Bibliothek einen numerischen Statuscode, der anzeigt, ob dabei Probleme aufgetreten sind. Der Rückgabewert 0 bedeutet, dass das Dokument ohne Warnungen oder Fehler verarbeitet wurde. 1 zeigt an, dass mindestens eine Warnung erzeugt wurde, und 2 bedeutet, dass ein oder mehrere Fehler vorlagen.
Die Funktion ist besonders nützlich, um nach dem Parsen oder Reparieren von HTML-Dokumenten schnell zu prüfen, ob das Dokument valide ist, bevor man den bereinigten Inhalt weiterverwendet oder ausgibt. Sie kann als prozeduraler Aufruf (tidy_get_status($tidy)) oder als Methode eines tidy-Objekts ($tidy->getStatus()) verwendet werden.
Für detailliertere Informationen zu den aufgetretenen Problemen kann man ergänzend tidy_get_error_buffer() verwenden, das alle Fehlermeldungen als String zurückgibt.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $tidy Pflicht | tidy | Das tidy-Objekt, dessen Status abgefragt werden soll. Es wird mit tidy_parse_string(), tidy_parse_file() oder dem tidy-Konstruktor erzeugt. |
Rückgabewert
0 zurück, wenn keine Fehler oder Warnungen aufgetreten sind. 1 bei Warnungen und 2 bei Fehlern im verarbeiteten Dokument.Beispiele
Statusprüfung nach dem Parsen eines HTML-Strings
<?php
$html = '<html><body><p>Beispiel<br>Text ohne schließendes Tag</body></html>';
$tidy = tidy_parse_string($html, [], 'UTF8');
$status = tidy_get_status($tidy);
if ($status === 0) {
echo "Dokument ist fehlerfrei.\n";
} elseif ($status === 1) {
echo "Dokument enthält Warnungen:\n";
echo tidy_get_error_buffer($tidy);
} else {
echo "Dokument enthält Fehler:\n";
echo tidy_get_error_buffer($tidy);
}
OOP-Stil: getStatus() als Methode
<?php
$html = '<!DOCTYPE html><html><head><title>Test</title></head><body><p>Gültiges Dokument</p></body></html>';
$tidy = new tidy();
$tidy->parseString($html, [], 'UTF8');
$tidy->cleanRepair();
$status = $tidy->getStatus();
switch ($status) {
case 0:
echo "Alles in Ordnung – kein Fehler.\n";
break;
case 1:
echo "Es liegen Warnungen vor.\n";
break;
case 2:
echo "Es liegen Fehler vor.\n";
break;
}
// Wichtig · Fallstricke
Hinweis: Die Funktion setzt voraus, dass die tidy-Erweiterung in PHP kompiliert oder als Erweiterung geladen ist. Auf manchen Systemen muss extension=tidy in der php.ini aktiviert werden.
Der Statuscode bezieht sich immer auf die zuletzt ausgeführte Parse- oder Repair-Operation. Ein Aufruf von cleanRepair() kann den Status verändern, da Tidy das Dokument dabei erneut analysiert.