13.9 ASCII in HTML konvertieren

Problem

Sie möchten einfachen Text in brauchbar formatierten HTML-Code verwandeln.

Lösung

Codieren Sie zuerst die HTML-Entities mit htmlentities( ); transformieren Sie dann den Text in verschiedene HTML-Strukturen. Die in Beispiel 13-2 dargestellte Funktion pc_ascii2html( ) führt einige grundlegende Transformationen für Links und Absätze durch.

Beispiel 13-2. pc_ascii2html( )

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 eine HTTP- oder FTP-URL aussieht.
    $grafs[$i] = preg_replace('/((ht|f)tp:\/\/[^\s&]+)/',
                              '<a href="$1">$1</a>',$grafs[$i]);
// Links für E-Mail-Adressen. $grafs[$i] = preg_replace('/[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}/i', ...

Get PHP 5 Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.