Signatur
Beschreibung
tidy_warning_count() liefert die Gesamtzahl der Warnungen, die der Tidy-Parser für ein gegebenes tidy-Objekt registriert hat. Warnungen sind weniger schwerwiegend als Fehler – sie deuten auf potenziell problematische, aber nicht unbedingt ungültige Markup-Konstrukte hin.
Die Funktion ist nützlich, um nach einem Aufruf von tidy_parse_string() oder tidy_parse_file() schnell zu prüfen, ob das Dokument sauber ist, ohne den vollständigen Diagnosebericht (tidy_get_output()) auswerten zu müssen. Ist der Rückgabewert größer als 0, lohnt sich ein Blick auf tidy_get_error_buffer() oder tidy::getWarnings(), um die konkreten Warnmeldungen zu lesen.
Die prozedurale Funktion tidy_warning_count($tidy) ist funktional identisch mit der objektorientierten Eigenschaft $tidy->warningCount. Beide greifen auf dieselben intern gespeicherten Diagnosedaten zu.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $tidy Pflicht | tidy | Ein gültiges tidy-Objekt, das zuvor mit tidy_parse_string() oder tidy_parse_file() befüllt wurde. |
Rückgabewert
0 bedeutet, dass keine Warnungen aufgetreten sind.Beispiele
Warnungsanzahl nach dem Parsen eines HTML-Strings prüfen
<?php
$html = '<html><body><p>Unclosed paragraph<p>Second paragraph</body></html>';
$tidy = tidy_parse_string($html, [], 'UTF8');
$warnings = tidy_warning_count($tidy);
$errors = tidy_error_count($tidy);
echo "Warnungen: $warnings\n";
echo "Fehler: $errors\n";
if ($warnings > 0) {
echo "Tidy-Diagnosebericht:\n";
echo tidy_get_error_buffer($tidy) . "\n";
}
Objektorientierter Vergleich mit warningCount
<?php
$html = '<!DOCTYPE html><html><head><title>Test</title></head>
<body><font color="red">Veraltetes Element</font></body></html>';
$tidy = new tidy();
$tidy->parseString($html, ['show-warnings' => true], 'UTF8');
$tidy->cleanRepair();
// Prozedurale Variante
$countProc = tidy_warning_count($tidy);
// OOP-Variante
$countOop = $tidy->warningCount;
echo "Prozedural: $countProc\n";
echo "OOP: $countOop\n";
echo ($countProc === $countOop ? 'Ergebnisse sind identisch.' : 'Unterschied!') . "\n";
// Wichtig · Fallstricke
Erweiterung erforderlich: Die tidy-Erweiterung ist nicht in jeder PHP-Standardinstallation aktiv. Sie muss beim Kompilieren eingebunden (--with-tidy) oder als gemeinsam genutztes Modul (extension=tidy) in der php.ini aktiviert werden.
Reihenfolge beachten: tidy_warning_count() liefert nur dann aussagekräftige Werte, wenn das Dokument tatsächlich geparst wurde. Ein reines new tidy() ohne anschließendes Parsen gibt 0 zurück, was kein Zeichen für ein fehlerfreies Dokument ist.