Signatur
Beschreibung
tidy_error_count() liefert die Anzahl der Fehler (Errors), die die Tidy-Bibliothek beim Parsen oder Aufbereiten eines Dokuments gefunden hat. Im Gegensatz zu Warnungen (Warnings) und Hinweisen (Notices) sind Fehler schwerwiegendere Probleme im Quellcode des Dokuments.
Die Funktion arbeitet als prozedurale Variante der Methode tidy::errorCount() und erwartet ein gültiges tidy-Objekt, das zuvor durch tidy_parse_string(), tidy_parse_file() oder new tidy() erstellt wurde. Die eigentliche Prüfung findet bereits beim Parsen statt; tidy_error_count() liest das Ergebnis nur aus.
Die Funktion ist besonders nützlich, wenn man schnell prüfen möchte, ob ein Dokument strukturelle Probleme enthält, bevor man es weiterverarbeitet oder ausliefert. In Kombination mit tidy_warning_count() und tidy_access_count() lässt sich ein vollständiges Qualitätsbild eines HTML-Dokuments erstellen.
Beachte, dass Tidy zwischen Fehlern, Warnungen und Zugänglichkeitsproblemen unterscheidet. tidy_error_count() liefert nur die Fehleranzahl; für Warnungen ist tidy_warning_count() zuständig.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $tidy Pflicht | tidy | Ein gültiges tidy-Objekt, das ein zuvor gepartes HTML- oder XML-Dokument repräsentiert. |
Rückgabewert
0 zurück, wenn keine Fehler vorhanden sind.Beispiele
Fehleranzahl eines HTML-Strings prüfen
<?php
$html = '<html><body><p>Nicht geschlossenes Paragraf-Tag<br><p>Zweiter Abschnitt</body></html>';
$tidy = tidy_parse_string($html, [], 'UTF8');
$tidy->cleanRepair();
$errors = tidy_error_count($tidy);
$warnings = tidy_warning_count($tidy);
echo "Fehler: $errors" . PHP_EOL;
echo "Warnungen: $warnings" . PHP_EOL;
if ($errors > 0) {
echo "Das Dokument enthält Fehler!" . PHP_EOL;
echo $tidy->errorBuffer . PHP_EOL;
}
Fehlerprüfung vor der Weiterverarbeitung einer HTML-Datei
<?php
$config = [
'output-xhtml' => true,
'indent' => true,
'wrap' => 80,
];
$tidy = new tidy();
$tidy->parseFile('seite.html', $config, 'UTF8');
$tidy->cleanRepair();
$fehlerAnzahl = tidy_error_count($tidy);
if ($fehlerAnzahl === 0) {
echo "Dokument ist fehlerfrei. Verarbeitung wird gestartet." . PHP_EOL;
// Weiterverarbeitung ...
} else {
echo "Es wurden $fehlerAnzahl Fehler gefunden:" . PHP_EOL;
echo $tidy->errorBuffer . PHP_EOL;
}
// Wichtig · Fallstricke
Die Tidy-Erweiterung muss beim Kompilieren von PHP aktiviert werden (--with-tidy) oder als entsprechendes Paket installiert sein (z. B. php-tidy unter Debian/Ubuntu). Ist die Erweiterung nicht verfügbar, führt der Aufruf zu einem fatalen Fehler.
Unterschied zu Warnungen: Tidy unterscheidet streng zwischen Errors, Warnings und Access-Meldungen. Selbst wenn tidy_error_count() 0 zurückgibt, können noch Warnungen vorhanden sein, die mit tidy_warning_count() abgefragt werden sollten.
Ab PHP 8.0 wurde die objektorientierte Schreibweise ($tidy->errorCount()) als bevorzugte Alternative empfohlen. Die prozedurale Funktion bleibt jedoch weiterhin verfügbar.