phillip: bbcode php highlight

Beitrag lesen

hallo!

ich bastel gerade an meinem bbcode.
über den bbcode

[php] <?php echo $testvar; ?> [/php]

lasse ich den php quellcode farblich ausgeben. das umgewandelte sieht so aus:

<code><span style="color: #000000">
 <span style="color: #007700"><?</span><span style="color: #0000BB">php </span><span style="color: #007700">echo </span><span style="color: #0000BB">$testvar</span><span style="color: #007700">; </span><span style="color: #0000BB">?></span> </span>
</code>

generiert wird das ganze über

$text = preg_replace_callback ("~[PHP](.*)[/PHP]~Uism","highlight",$text);

function highlight($php)
 {
  return highlight_string($php[1], true);
 }

das funktioniert also alles soweit wunderbar. nun möchte ich das ganze jedoch auch zurückverwandeln können. also von html in bbcode zurück. zuerst dachte ich ich mach das so:

$text = preg_replace ("~<code>(.*)</code>~Uism", "[php]\1[/php]", $text);

allerdings ensteht dann folgendes:

[php]<span style="color: #000000">
 <span style="color: #007700"><?</span><span style="color: #0000BB">php </span><span style="color: #007700">echo </span><span style="color: #0000BB">$testvar</span><span style="color: #007700">; </span><span style="color: #0000BB">?></span> </span>
[/php]

ich muss also irgendwie die ganzen spans und so wegbekommen :)..hmm ich hoffe jemand hat eine idee wie ich das anstellen kann.

vielen dank,
phillip