PHP-Programmierung – pc_html2ascii()
HTML in Ascii konvertieren
Wenn Sie vor der Aufgabe stehen, eine HTML-Seite in lesbaren, formatierten Ascii-Text umzuwandeln, gibt es zwei Lösungsmöglichkeiten.Wenn Sie über ein externes Programm wie Lynx verfügen, das HTML als Ascii formatiert, können Sie es folgendermaßen aufrufen:
$file = escapeshellarg($file);
$ascii = ‘lynx -dump $file’;
Verfügen Sie über kein externes Programm zumFormatieren, können Sie mit der folgenden Funktion pc_html2ascii() immerhin eine Untermenge der HTML-Codes verarbeiten (allerdings keine Tabellen und Frames):
function pc_html2ascii($s) {
// Links konvertieren.
$s = preg_replace(‘/]*)”?[^>]*>(.*?)<\/a>/i’,’$2 ($1)’, $s);
// Die Tags
,
,
,
$s = preg_replace(‘@<(b|h)r[^>]*>@i’,”\n”,$s);
$s = preg_replace(‘@
]*>@i’,”\n\n”,$s);
$s = preg_replace(‘@
@i’,”\n”.’$1′.”\n”,$s);
// Fett- und Kursivschrift umwandeln.
$s = preg_replace(‘@]*>(.*?)@i’,’*$1*’,$s);
$s = preg_replace(‘@]*>(.*?)@i’,’/$1/’,$s);
// Benannte Entities dekodieren.
$s = strtr($s,array_flip(get_html_translation_table(HTML_ENTITIES)));
// Numerische Entities dekodieren.
$s = preg_replace(‘//e’,’chr(\\1)’,$s);
// Alle übrigen Tags entfernen.
$s = strip_tags($s);
return $s;
}