Guten Nachmittag

Ich kämpfe seit einer Stunde mit einer Verbindung der Funktion 'preg_replace' und einer Funktion
Folgende Zeile soll in der Variable $message den PHP-Code farbig hervorheben. Genutzt soll das ganze werden für ein BB-Code-System.
|
PHP Quellcode
|
1
|
$message = preg_replace('#\[php\](.+)\[/php\]#isU',parse_php("\\1"),$message);
|
Die Funktion sieht folgendermaßen aus:
|
PHP Quellcode
|
1
2
3
4
5
6
|
function parse_php($str) {
$str .= "<div style=\"border:1px solid #000; background:#f1f1f1;\">";
$str .= highlight_string($str,true);
$str .= "</div>";
return $str;
}
|
Er lässt zwar die $message durch die Funktion durchlaufen, allerdings kommt diese unformatiert raus. Im Test habe ich die Variable so belegt:
|
Bash
|
1
|
$message = "<?php echo 'test'; ?>";
|
Nach echo-Ausgabe erscheint im Quelltext der Testdatei nur:
|
Bash
|
1
|
<div style="border:1px solid #000; background:#f1f1f1;"><?php echo 'test'; ?></div>
|
Der PHP-Code wurde also 1:1 übernommen und nicht eingefärbt.
Kann mir jemand helfen?