Toon posts:

[PHP] tag binnen tag probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben iets in elkaar aan het prutsen: iemand kan een bericht quoten (zoals hier), en dan verschijnt er mooi met de quote-tags in het bericht het te quoten bericht.

Dat parsen gaat perfect, maar als ik nou een bericht quote WAARIN al een keer quote-tags staat, gaat het fout. Ik had al naar [rml][ php-pregexp]Wat is hier vaudt aan?[/rml] gekeken, maar dat mocht ook niet baten, omdat het mij om tag-binnen-tag gaat, en niet na maximaal aantal tags in een bericht.

Dit is mijn code die ik gebruik om te replacen:
PHP:
1
$data = preg_replace("/\\[quote\](.*?)\\[\/quote\]/is", "<blockquote>\\1</blockquote>", $data);


Het probleem is dus als er in $data geneste tags in voorkomen, dan worden de binnenste tags niet geparsed. Hoe los ik dit op dmv :

1. replacen van quote in quote door [...] (ala Got ;))
2. (vul hier een methode in, die ik dus niet ken/op ben gekomen)

offtopic:
Hmm, titel moet [PHP] .... zijn :+

[ Voor 0% gewijzigd door Verwijderd op 30-10-2002 18:17 . Reden: vautje in titel :/ ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 29-08 03:21

.oisyn

Moderator Devschuur®

Demotivational Speaker

ten eerste: wat jij doet heet geen parsen, maar analyzen (lexical analyzen om precies te zijn :+)
ten tweede: het kan alleen opgelost worden door het te parsen :) Het beroemde 'haakjes probleem' is namelijk niet met een regex op te lossen

Zie ook [rml].oisyn in "[ PHP/regex] HTML code highlighten"[/rml]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

oftewel stackbased parser maken? :D

  • MisterData
  • Registratie: September 2001
  • Laatst online: 26-08 21:52
Verwijderd schreef op 30 oktober 2002 @ 19:29:
oftewel stackbased parser maken? :D
http://quatro.ath.cx/cms/include/tpltest.php ;) Ik heb er eentje gemaaktmaar dat had ik al aan je gemaild >:)

  • MisterData
  • Registratie: September 2001
  • Laatst online: 26-08 21:52
.oisyn schreef op 30 oktober 2002 @ 18:44:
ten eerste: wat jij doet heet geen parsen, maar analyzen (lexical analyzen om precies te zijn :+)
ten tweede: het kan alleen opgelost worden door het te parsen :) Het beroemde 'haakjes probleem' is namelijk niet met een regex op te lossen

Zie ook [rml].oisyn in "[ PHP/regex] HTML code highlighten"[/rml]
Eventueel met een recursieve regex :?