Avatar billede hoppe11 Nybegynder
19. juli 2009 - 12:40 Der er 9 kommentarer og
1 løsning

reg exp - checke for korrekt nesting af quote tags

er der nogen som kan hjælpe med at lave en reg exp som kan checke for at quote tags er nestet korrekt?

mine quote tags ser således ud :)

$pattern_split = '\[quote(?: contr_id=\d+)?\]|\[\/quote\]';
Avatar billede coderdk Praktikant
19. juli 2009 - 15:15 #1
Hvorfor ikke bruge PEAR's BBCode parser: http://pear.php.net/package/HTML_BBCodeParser ?
Avatar billede coderdk Praktikant
19. juli 2009 - 15:15 #2
(Ellers skal du ha' gang i en parser/tokenizer)
Avatar billede hoppe11 Nybegynder
19. juli 2009 - 15:32 #3
jeg skal egentlig ikke bruge et særligt avanceret pattern

tilladt:
[quote][/quote]

[quote][/quote][quote][/quote]

ikke tilladt:
[quote][quote][/quote][/quote]

der må ikke være nogle quote tags indeni andre.. :)
Avatar billede hoppe11 Nybegynder
19. juli 2009 - 16:07 #4
- og den skal også checke for om der evt. mangler et start eller end tag
Avatar billede mbm2016 Nybegynder
19. juli 2009 - 16:12 #5
Hvad med en af disse:
^\[quote\]\[\/quote\]
^\[quote\]\[\/quote\]$
\[quote\]\[\/quote\]$
\[quote\]\[\/quote\]
Avatar billede coderdk Praktikant
19. juli 2009 - 16:51 #6
prøv med \[quote\]([^[]+)\[\/quote\]
Avatar billede hoppe11 Nybegynder
20. juli 2009 - 09:53 #7
@ coderdk

jeg skal vel bruge preg_match_all på den der?
Avatar billede hoppe11 Nybegynder
20. juli 2009 - 10:10 #8
her meldes altid fejl..

preg_match('/\[quote\]([^[]+)\[\/quote\]/i', $msg, $quote_match);

echo '<pre>';
print_r($quote_match);
echo '</pre>';

if(!$quote_match)
{
echo 'fejl!';
}

men i dit pattern må man ikke bruge [ mellem quotetags..
Avatar billede hoppe11 Nybegynder
21. juli 2009 - 19:51 #9
@ coderdk

kan du løse mit problem? :)
Avatar billede hoppe11 Nybegynder
23. juli 2009 - 10:09 #10
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester