Signatur
Beschreibung
tidy_get_error_buffer() liefert alle Warnungen und Fehlermeldungen, die die Tidy-Bibliothek beim Parsen oder Bereinigen eines Dokuments erzeugt hat, als einfachen Zeichenkette zurück. Dies ist nützlich, um nach einem tidy_parse_string()- oder tidy_parse_file()-Aufruf festzustellen, ob und welche Probleme im Dokument gefunden wurden.
Die Funktion ist das prozedurale Pendant zur objektorientierten Eigenschaft tidy::$errorBuffer. Beide greifen auf denselben internen Puffer zu, der nach jedem Parse-Vorgang neu befüllt wird.
Typische Anwendungsfälle sind das Protokollieren von HTML-Fehlern in Qualitätssicherungs-Workflows, das Debuggen von fehlerhaftem Markup oder das automatische Prüfen von benutzergenerierten Inhalten auf Konformität. Der Puffer enthält menschenlesbare Meldungen, die Zeilennummer, Spaltennummer und eine Fehlerbeschreibung enthalten.
Wichtig: Der Fehlerpuffer wird erst nach einem erfolgreichen Parse-Vorgang gefüllt. Wurde noch kein Dokument geparst, gibt die Funktion false zurück.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $tidy Pflicht | tidy | Eine tidy-Instanz, die zuvor mit tidy_parse_string() oder tidy_parse_file() erstellt und mit einem Dokument befüllt wurde. |
Rückgabewert
false, wenn noch kein Dokument geparst wurde oder kein Fehler aufgetreten ist.Beispiele
Fehlerpuffer nach dem Parsen eines fehlerhaften HTML-Dokuments ausgeben
<?php
$html = '<html><body><p>Nicht geschlossenes Absatz-Tag<div>Falsch verschachtelt</div></body></html>';
$tidy = tidy_parse_string($html, [], 'UTF8');
$errors = tidy_get_error_buffer($tidy);
if ($errors) {
echo "Tidy-Fehlerpuffer:\n";
echo $errors;
} else {
echo "Keine Fehler gefunden.";
}
Objektorientierte Variante und Vergleich mit errorBuffer-Eigenschaft
<?php
$html = '<html><body><b><i>Falsch verschachtelt</b></i></body></html>';
$tidy = new tidy();
$tidy->parseString($html, ['show-warnings' => true], 'UTF8');
// Prozedurale Methode
$buffer1 = tidy_get_error_buffer($tidy);
// OOP-Eigenschaft (äquivalent)
$buffer2 = $tidy->errorBuffer;
echo "Prozedural:\n" . $buffer1 . "\n";
echo "OOP-Eigenschaft:\n" . $buffer2 . "\n";
echo "Identisch: " . ($buffer1 === $buffer2 ? 'Ja' : 'Nein') . "\n";
// Wichtig · Fallstricke
Hinweis zur Konfiguration: Damit Warnungen in den Puffer aufgenommen werden, muss die Tidy-Option show-warnings auf true gesetzt sein (Standard). Nur Fehler (nicht Warnungen) erscheinen, wenn show-warnings deaktiviert ist.
Puffer-Lebensdauer: Der Fehlerpuffer wird bei jedem neuen Aufruf von parseString() oder parseFile() überschrieben. Soll der Puffer langfristig aufbewahrt werden, muss er direkt nach dem Parsen in einer eigenen Variable gespeichert werden.
Verfügbarkeit: Die Tidy-Erweiterung muss beim Kompilieren von PHP aktiviert worden sein (--with-tidy) oder als gemeinsam genutztes Modul geladen werden. extension_loaded('tidy') kann zur Laufzeit geprüft werden.