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);