• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

preg_replace

Mordred

Neues Mitglied
Hallo,
Ich habe erneut ein Problem mit zu ersetzenden Strings, diesmal in PHP.
Ich möchte ein Kleines Tutorial erstellen (bzw. habe ich schon), bei dem es eine Art ganz einfacher BB-Codes geben soll.
Ich hab leider keine Ahnung, wie ein pattern (heißt das so?) aussehen muss, dass es auch das macht, was ich möchte.
Das hier:

[Tutorialkopf=Hier Dein Titel]
Hier Dein Text
[/Tutorialkopf]

soll zu diesem hier werden:

<center><h2>Hier Dein Titel</h2>
Hier Dein Text
</center>

Vielen Dank!
 
PHP:
<?php

$input = <<<EOT
[Tutorialkopf=Hier Dein Titel]
Hier Dein Text
[/Tutorialkopf]
EOT;


$output = preg_replace(
        '/\[tutorialkopf=([^\]]+)\]\s*(.*?)\s*\[\/tutorialkopf\]/is',
        '<center><h2>$1</h2>$2</center>',
        $input);

echo $output;

Aber ja, nimm eine fertige Lösung.

- PHP: BBCode - Manual
- HTML_BBCodeParser
 
Vielen Dank an beide, klappt wie gewünscht!
Fertig eingerückt:

PHP:
 echo preg_replace('/\[Tutorialkopf=(.*).*\](.*)\[\/Tutorialkopf\]/', '<center><h2>$1</h2>
$2
</center>',$text);
 
Jetzt verstehe ich nichts mehr.
Auf meinem Rechner hat es problemlos geklappt, beim Server kommt nur noch NULL raus.

edit:
Ah, meiner war wohl etwas voreilig.
mermshaus´ funktioniert.
Danke!
 
Zuletzt bearbeitet:

Neueste Beiträge

Zurück
Oben