[php] highlighten in forum is een probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ãlo,

Ik heb een probleempje met highlighten van een script op een forum, ik gebruik op dat forum ook smileys etc. Bijvoorbeeld: als je dit als text in je forum hebt:
<? code?>
tekst en smileys (ubb)
<? nog een code?>

dan wil ik dat alles tussen <? ?> gehighligth wordt en op de rest een ubb funtie wordt uitgevoerd.

Voor dat highlighten heb ik de volgende regex gemaakt:
PHP:
1
<?$var = preg_replace('_<\?(.*?)\?>_ise', "highlight('\\0')", $var);?>


Het probleem is als ik bijvoorbeeld deze code in het forum heb geplaatst:
<? preg_replace('_<\?(.*?)\?>_ise', "highlight('\\0')", $var); ?>
dan highlight hij alleen dit: <? preg_replace('_<\?(.*?)\?>
zoals je ziet komt dit omdat in het script zelf ook <? ?> tags voorkomen.

Ik heb al van alles geprobeerd met de regex, en gezocht op GoT, maar ik kan niets maken of vinden wat wel werkt.


---------------------
dat andere probleem van die smileys, post ik wel als dit is opgelost.
BTW misschien denk je dat ik moeilijk aan het doen ben en dat ik het gewoon tussen [ code][/code] moet stoppen, maar dat wil ik dus niet.
-----------------------

[ Voor 18% gewijzigd door Verwijderd op 25-01-2003 18:29 ]


Acties:
  • 0 Henk 'm!

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 08:38
Je kan dit denk ik het beste stack-based parsen, dwz. je laat een lusje door de tekst heen lopen en bij het eerste voorkomen van een <? plak je er wat code voor, en vervolgens blijf je op en aftellen tot de eind-?> gevonden is.

Misschien kan je ook wat met ACM's stack-based parser.