Ik heb het getest met een tutorial waar afwisselend txt en code staan.
Maar hij toont eerst de code en daarna het kadertje waar hij in moet staan met een 1 in.
Dit toont hij allemaal onder elkaar, en daarna pas de tekst.
Waar normaal de code moet staan (in de tekst) staat gewoon een enter.
If the second parameter return is set to TRUE then highlight_string() will return the highlighted code as a string instead of printing it out. If the second parameter is not set to TRUE then highlight_string() will return TRUE on success, FALSE on failure.
...
Note: The return parameter became available in PHP 4.2.0. Before this time it behaved like the default, which is FALSE.
dus maak van highlight_string($je_tekst) highlight_string($je_tekst, true)
ik weet niet of je de goede regexp gebruikt, deze is in ieder geval goed, is van mij:
$msg = preg_replace("_\[code\](.*?)\[/code\]_ise", "colorcoding('\\1',true)", $msg);
kep zelf nog nooit van de functie 'php()' gehoord:o
<?php
function ubb($msg)
{
$msg = nl2br($msg);
$msg = preg_replace("_\[code\](.*?)\[/code\]_ise", "php('\\1')", $msg);
$msg = preg_replace("/\[B\](?U)((.|\n|\r)*)\[\/B\]/", "<b>\\1</b>", $msg);
// En dan nog andere ubb en smilies
}
?>
1. Sla de codeblokken tijdelijk op in een array, en laat verwijzingen in je tekst staan (bijvoorbeeld [codeblok]1[/codeblok] voor het eerste codeblok, [codeblok]2[/codeblok] voor het tweede blok et cetera)
2. Gooi je UBB-functie over deze aangepaste tekst heen
3. Zet je codeblokken weer terug met behulp van de verwijzingen