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