bij dit script
ik wil dus, ook nog toevoegen: [code] de code [/code/]
(extra slash omdat ik anders hier ook in code typ )
je weet wel
maar, dit lukt mij niet met highlight_string();
omdat ik nl2br() toepas kan ik highlight niet gebruiken omdat de tekens van <?php bijvoorbeeld al zijn omgezet
hoe los ik dit op ?
code-blokken en UBB apart verwerken. Dus niet eerst een ubb-functie over alle content heengooien en dan code-blokken maken, maar eerst de code-blokken er uit knippen, dan de UBB over de rest van je inhoud, en dan de code-blokken weer terugzetten en hier de code-blok-maak-functie overheen gooien.
Althans, zo werkt het op SM, je kunt natuurlijk je eigen stack-based parser schrijven...
Zoek anders eens op het forum, deze vraag is in het verleden al tig keer de revue gepasseerd.
heb dat van CDNC al geprobeerd, dat haalt dus niks uit,
van FangorN dan maar proberen als ik eens genoeg tijd heb
maar FangorN , als ik bijvoorbeeld doe:
<?
$input = '
dit is bagger
[.code.]
$d = '$e';
[/code.]
dat was het
';
if(ereg("[.code.]", $input))
{
$expl = explode("[.code.]", $input);
$exple = explode("[/.code.]", $expl[1]);
// $exple[0] in nu het code gedeelte
}
// weer juist aan een plakken:
$output = set_ubb($expl[0]) . verwerk_code($exple[0]) . set_ubb($exple[1]);
?>
Dan "red" je eerst de codeblokken met een regexp - De code zet je in een tijdelijk array. Op de plaats van {code}{/code} zet je de index van het code-blok:
Dit is tekst lalala
{code}0{/code}
Dit is weer tekst.
{code}1{/code}
Dit is tekst lalala
{code}0{/code}
Dit is weer tekst.
{code}1{/code}
Over dit bericht gooi je je UBB-code, met de {code}{/code} blokken gebeurt niets.
Vervolgens zet je de code-blokken weer terug op de goede plaats (m.b.v. index en regexp), met de daarbij behorende code-opmaak (regelnummers, highlighting et cetera).
(replace() is de ubb functie)
maar alleen, dit gaat maar meerdere code blokken zijn niet mogelijk iemand een oplossing.
die van fangorn zal wel werken,
maar ik kan niet met indexen werken
en hoe kan je regels tellen ? =)
Thomas - 17/08/2006 10:15 (laatste wijziging 17/08/2006 10:15)
Moderator
Citaat:
maar ik kan niet met indexen werken
?
Citaat:
en hoe kan je regels tellen
Je codefragment exploden op "\n". De grootte van het resulterende array = het aantal regels.