Avatar billede davidskp Nybegynder
31. juli 2010 - 17:14 Der er 6 kommentarer og
1 løsning

Fjerne alt mellem bbcode tags i string

Jeg bruger bbcode til et lille forum jeg roder med og jeg vil gerne kunne fjerne dette fra en string. Nærmere bestemt alt der er mellem [quote og [ /quote ] inkl. tags selv skal fjernes.

Bemærk at det er bevidst at der ikke er ] i den første da den både kan være [ quote ] og [ quote=Navn ]

Dvs. $string = "[ quote ] Her en er quote [ /quote ] Blabla"; skal blive til "Blabla"
og ligeledes skal $string = "[ quote=Navn ]Her en er quote[ /quote ] Blabla"; blive til "Blabla"

PS: ignorer mellemrum i ovenstående tags...den vil ikke vise det korrekt uden.

/dave
Avatar billede arne_v Ekspert
31. juli 2010 - 18:23 #1
prøv:

function bbstrip($s) {
    return preg_replace('#(\[quote)(.*?)(\[/quote])#', '', $s);
}
Avatar billede davidskp Nybegynder
01. august 2010 - 20:32 #2
Hm det virker umiddelbart ikke - det fjerner ikke noget.
Avatar billede davidskp Nybegynder
01. august 2010 - 20:33 #3
PS: jeg går ud fra at funktionen skal hedde:

function bbstrip($s) {
    return preg_replace('#(\[quote)(.*?)(\)#', '', $s);
}

Uden linieskiftene
Avatar billede arne_v Ekspert
01. august 2010 - 20:38 #4
Den fjerner noget !

Men E's bb code detector har vist fjernet noget.

Jeg prøver lige med nogle ekstra melelmrum:

function bbstrip($s) {
    return preg_replace('#(\[ quote)(.*?)(\[ /quote ])#', '', $s);
}
Avatar billede arne_v Ekspert
01. august 2010 - 20:38 #5
Det var bedre - der skal fjernes 3 mellemrum!
Avatar billede davidskp Nybegynder
01. august 2010 - 20:58 #6
Yes det virker :)

Mange tak arne, hvis du smider et svar så smider jeg points i din retning :)
Avatar billede arne_v Ekspert
01. august 2010 - 21:02 #7
svar
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