PHP-Programmierung – preg_ replace( )
Ascii in HTML konvertieren
Ascii in HTML konvertieren ___
Eine weitere Möglichkeit der Web-Automatisierung mit Hilfe von PHP ist die Umwandlung von einfachem Text in brauchbar formatierten HTML-Code. Codieren Sie dazu zuerst die HTML-Entities mit htmlentities(), transformieren Sie dann den Text in verschiedene HTML-Strukturen. Für einige grundlegende Transformationen zum Beispiel für Links und Absätze können Sie die folgende Funktion pc_ascii2html( ) nutzen:
function pc_ascii2html($s) {
$s = htmlentities($s);
$grafs = split(“\n\n”,$s);
for ($i = 0, $j = count($grafs); $i $j; $i++) {
// Links für alles herstellen, was wie ein HTTP- oder FTP-URL aussieht. $grafs[$i] = preg_replace(‘/((ht|f) tp:\/\/[^\s&]+)/’,
‘$1‘,$grafs[$i]);
// Links für E-Mail-Adressen.
$grafs[$i] = preg_replace(‘/[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}/i’,’$1‘, $grafs[$i]);
// Neuen Absatz beginnen.
$grafs[$i] = ‘
‘.$grafs[$i].’
‘;
}
return join(“\n\n”,$grafs);
}
Je mehr Sie über den Aufbau des Ascii-Textes wissen, destomehr kann Ihre HTML-Konvertierung leisten.Wenn beispielsweise Hervorhebungen durch *Sterne* oder /Schrägstriche/ vor und hinter denWörtern gekennzeichnet sind, können Sie das folgendermaßen mit Hilfe dieser zusätzlichen Regeln berücksichtigen:
$grafs[$i] = preg_replace(‘/(\A|\s)\*([^*]+)\*(\s|\z)/’,’$1$2$3′,$grafs[$i]);
$grafs[$i] = preg_replace(‘{(\A|\s)/([^/]+)/(\s|\z)}’, ‘$1$2$3′,$grafs[$i]);
Weiter Informationen und Beispiele zum Thema preg_ replace( ) finden Sie im PHP-Manual unter der Adresse www.php.net/preg-replace.