Kategorien

Suchen


Aktuelle Artikel

Archiv


« | Startseite | »

Text mit Tags (Platzhaltern) formatieren

admin | 23.01.2009

Sie möchten in einem Text definierte Bereiche (Tags) durch HTML Code oder andere Formatierungen ersetzen lassen und dabei selbst die Sequenzen (Namen, Format, …) bestimmen ?

Der folgende Codeschnipsel kann Ihnen die Lösung oder eine Vorlage bieten:

function FormatText($text) {

    // Definition der eigenen Tags (Formatierungsbefehle)
    $tags = array(
        'bold' => '/\[b\](.+)\[\/b\]/is',
        'center' => '/\[center\](.+)\[\/center\]/is',
        'quote' => '/\[quote\](.+)\[\/quote\]/is',
        'url' => '/\[url](.+)\[\/url\]/isU',
        'urltext' => '/\[url=(.+)\](.+)\[\/url\]/isU',
        'email' => '/\[email\](.+)\[\/email\]/isU',
        'img' => '/\[img\](.+)\[\/img\]/isU'
    );

    // Definition der HTML Tags
    $replace = array(
        'bold' => '<span style="font-weight: bold">$1</span>',
        'center' => '<center>$1</center>',
        'quote' => '<blockquote>$1</blockquote>',
        'url' => '<a href="$1" border="0">$1</a>',
        'urltext' => '<a href="$1" border="0">$2</a>',
        'email' => '<a href="mailto:$1">$1</a>',
        'img' => '<img src="$1">'
    );

    // Ersetzen der entsprechenden Passagen durch die HTML Tags
    return preg_replace($tags, $replace, $text);
}

Der Beispielcode in der Praxis:

Ihr Text mit den Formatierungstags:

$text = "Meine bevorzugte [b]Hilfeseite[/b] heißt [url]http://www.YourHelpCenter.de[/url]";

Wird mit dem folgenden PHP Befehl umgewandelt:

$html = FormatText($text);

Und so sieht das Ergebnis (der String in $html) aus:

Meine bevorzugte Hilfeseite heißt http://www.YourHelpCenter.de

Eine Übersicht der o.a.  Formatierungen gibt Ihnen der folgende Beispielcode.
natürlich lassen sich die Tags auch verschachteln oder kombinieren.

$demo = "[b]Fett[/b]
         [center]Zentriert[/center]
         [quote]Zitat[/quote]
         [url]http://www.yourhelpcenter.de/category/cakephp/[/url]
         [url=http://www.yourhelpcenter.de]Hier finden Sie kostenlose Hilfe und Tipps[/url]
         [email]info@yourhelpcenter.de[/email]
         [img]http://www.google.de/intl/de_de/images/logo.gif[/img]";

echo FormatText($demo);

Kategorie: Allgemeines, cakePHP | Keine Kommentare »

Kommentare