ViktorMedlem sedan aug. 20021 752 inlägg Hej
Jag har denna sats för att rensa bort alla quotes from en text i databasen
$this->quoted_post['post'] = preg_replace("^\[(QUOTE|quote)\](.*?)\[/(QUOTE|quote)\]^s", "", $this->quoted_post['post']);
Problemet är att om en post ser ut såhär
[quote]
Hej!
[/quote]
Hej på dig!
[quote]
Vad heter du?
[/quote]
Viktor
Så tas allt bort mellan första och sista quoteen, men jag vill bara tabort det som är mellan quoterna, dvs "Hej!" och "Vad heter du?" i detta exempel, då ska altså "Hej på dig!" och "Viktor" finnas kvar när man har kört texten genom parsern.
Vad göra? :)
/Viktor
$this->quoted_post['post'] = preg_replace("#\[(QUOTE|quote)\][^\\[]*\[/(QUOTE|quote)\]#s", "", $this->quoted_post['post']);
ViktorMedlem sedan aug. 20021 752 inlägg Nja, det är nog ett steg i rätt riktning men resultatet blev inte som jag ville :)
[j!
[/j på dig!
[?
[/r
/Viktor
dectgapMedlem sedan sep. 20021 655 inlägg <?php
$str = "[quote]Lite text att citera och en radbrytning \n[/quote] Text som inte är citerad [quote]blä[/quote]";
$str = preg_replace("/\[quote\](.*?)\[\/quote\]/is", "", $str);
echo $str;
?>
stevenetMedlem sedan juni 20001 251 inlägg Re: Quote problem på forum
Viktor skrev:
$this->quoted_post['post'] = preg_replace("^\[(QUOTE|quote)\](.*?)\[/(QUOTE|quote)\]^s", "", $this->quoted_post['post']);
Förstår inte riktigt vad du är ute efter... Koden ovan returnerar väl önskad sträng?
ViktorMedlem sedan aug. 20021 752 inlägg Re: Re: Quote problem på forum
stevenet skrev:
Förstår inte riktigt vad du är ute efter... Koden ovan returnerar väl önskad sträng?
:r du har så rätt, det var ett dåligt exempel (provade det inte först), men detta klarar varken min eller någon annan av de 2 koder här av :(
--------------------------
Viktor,Apr 14 2003, 06:09 PM skrev:
Viktor,Apr 14 2003, 06:08 PM skrev:
Viktor,Apr 14 2003, 06:08 PM skrev:
Viktor,Apr 14 2003, 06:08 PM skrev:
fflkdjs
fdsjlflsd
fjdlskfjlksd
jfldjfksd
/Viktor
fdsljfdsjlfksd
fdlkflsfdljfldsk
fjldksfldsflks
fjlkdsflsdlkfdskj
fhdslfjdlkjldsjfkl
fdskfjksfkldkljsfdj
fjlkdsjfldfljdslfjls
fjkldfsldfllkds
jfldskflsdjflkdflks
tjdskfjdskfj
fjdslkjfldksjlf'
fdsfjdsfjldsjfld
fdslkfdsjfldjlfs
jflkdjfslkdjl
fjlkdsjfldsjfl
jdslkjfldsflkjds
sjfldksjflds
fdslfdsjflkdsj
jdslkfjksjdlk
:lol:
/Viktor
---------------------
Om jag kör en quote på det så försvinner inte någon quote :(
Målet är altså att bara ":lol: /Viktor" ska finnas kvar när man quotar.
/Viktor
dectgapMedlem sedan sep. 20021 655 inlägg Ursäkta, men mitt förslag blev lite förstört av formateringen på forumet.
$str = preg_replace("/\[quote\](.*?)\[\/quote\]/is", "", $str);
echo $str;
Det funkar hur bra som helst för mig.
Det plockar bort [ quote]-taggar och deras innehåll, och låter resten stå kvar - det var väl det du ville åstadkomma?
EDIT:
Nu märkte jag dock att det blir problem med nästlade quote-taggar.