Signatur
Beschreibung
tidy_get_output() ist die prozedurale Variante der Methode tidy::value() und liefert den vollständigen, von der Tidy-Bibliothek verarbeiteten Markup-String zurück. Das Dokument muss zuvor mit tidy_parse_string(), tidy_parse_file() oder einer entsprechenden Methode eingelesen worden sein.
Die Funktion ist besonders nützlich, wenn man das bereinigte Dokument als String weiterverarbeiten, in einer Datenbank speichern oder direkt ausgeben möchte, ohne es in eine Datei zu schreiben. Sie liefert das Ergebnis in dem Format, das durch die Tidy-Konfigurationsoptionen (z. B. output-xhtml, indent, wrap) festgelegt wurde.
Wichtig: tidy_get_output() gibt den Inhalt so zurück, wie ihn Tidy intern gespeichert hat – inklusive des vom Tidy-Objekt verwendeten Zeichensatzes. Stellt man also die Option char-encoding auf utf8, ist auch die Ausgabe UTF-8-kodiert.
- Prozeduraler Stil:
tidy_get_output($tidy) - Objektorientierter Stil:
$tidy->value(Property-Zugriff)
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $tidy Pflicht | tidy | Ein tidy-Objekt, das zuvor mit tidy_parse_string() oder tidy_parse_file() befüllt wurde. |
Rückgabewert
tidy-Objekts entspricht. Im Fehlerfall oder wenn kein Dokument geladen wurde, kann ein leerer String zurückgegeben werden.Beispiele
HTML-String bereinigen und Ergebnis als Variable nutzen
<?php
$html = '<HTML><head><title>Test</title></head><BODY><P>Hallo Welt</BODY></HTML>';
$config = [
'indent' => true,
'output-xhtml' => true,
'wrap' => 200,
];
$tidy = tidy_parse_string($html, $config, 'UTF8');
tidy_clean_repair($tidy);
$saubererHtml = tidy_get_output($tidy);
echo $saubererHtml;
HTML aus Datei laden, bereinigen und Ergebnis speichern
<?php
$config = [
'indent' => true,
'output-html' => true,
'char-encoding'=> 'utf8',
];
$tidy = tidy_parse_file('seite.html', $config, 'UTF8');
tidy_clean_repair($tidy);
$bereinigtesHtml = tidy_get_output($tidy);
file_put_contents('seite_sauber.html', $bereinigtesHtml);
echo 'Datei wurde bereinigt und gespeichert. Länge: ' . strlen($bereinigtesHtml) . ' Bytes.';
// Wichtig · Fallstricke
Reihenfolge beachten: Rufe tidy_clean_repair() auf, bevor du tidy_get_output() verwendest. Andernfalls kann der zurückgegebene String unvollständig oder unbereinigt sein.
Zeichenkodierung: Die Kodierung des zurückgegebenen Strings hängt von der Tidy-Konfigurationsoption char-encoding ab. Stimme diese mit der Kodierung deiner Anwendung ab, um Zeichensatzprobleme zu vermeiden.
Objektorientierter Stil: Im OOP-Stil steht der bereinigte Inhalt über die Eigenschaft $tidy->value zur Verfügung – es gibt keine gleichnamige Methode.