Hallo,
ich habe ich Script geschrieben, dass es dem User erlaubt, selbst Artikel zu schreiben. Die Sache ist recht komplex (mehrere Seiten möglich, automatische Übersicht der Unterüberschriften oben...).
Nun wollte ich zusätzlich eine [CODE*]-Funktion einbauen, die es dem User erlaubt, automatisch eingefärbten PHP-Code einzufügen.
Das Problem ist, dass der Benutzer den Code natürlich Einrücken können sollte. Dies soll durch eine schlichte Ersetzung der Leerzeichen durch " "-Zeichen ermöglich werden.
Allerdings sollen nur die Leerzeichen zwischen den [CODE*]-Tags ersetzt werden und nicht die außerhalb.
Zuerst haben ich es mit dem Regex
versucht, wobei $_POST2['inhalt'] die Variable mit dem Text und # der Delemiter ist. Hierbei wird allerdings nur das erste Leerzeichen ersetzt.
Wie schaffe ich es, dass die Ersetzung normal funktioniert?
//Edit:
Das [CODE*] Soll natürlich [CODE] heißen, mussste allerdings wegen Fehlern erstetzt werden.
ich habe ich Script geschrieben, dass es dem User erlaubt, selbst Artikel zu schreiben. Die Sache ist recht komplex (mehrere Seiten möglich, automatische Übersicht der Unterüberschriften oben...).
Nun wollte ich zusätzlich eine [CODE*]-Funktion einbauen, die es dem User erlaubt, automatisch eingefärbten PHP-Code einzufügen.
Das Problem ist, dass der Benutzer den Code natürlich Einrücken können sollte. Dies soll durch eine schlichte Ersetzung der Leerzeichen durch " "-Zeichen ermöglich werden.
Allerdings sollen nur die Leerzeichen zwischen den [CODE*]-Tags ersetzt werden und nicht die außerhalb.
Zuerst haben ich es mit dem Regex
PHP-Code:
$_POST2['inhalt'] = preg_replace("#\[CODE\](.*) (.*)\[\/CODE\]#Us", "[CODE*]$1 $2[/CODE*]", $_POST2['inhalt']);
Wie schaffe ich es, dass die Ersetzung normal funktioniert?
//Edit:
Das [CODE*] Soll natürlich [CODE] heißen, mussste allerdings wegen Fehlern erstetzt werden.
Kommentar