Avatar billede thomas_buhl Nybegynder
15. marts 2010 - 15:43 Der er 9 kommentarer og
1 løsning

Preg_repleace af html a tag

Hej.
Er ved at lave en lightbox funktion til tinymce. Men kan ikke få preg_repleace til at fjerne de tomme links hvis en bruger har slettet et billedet som der var sat lightbox på.
følgende som preg_repleace skal kunne fjerne.
<a rel="lightbox" href="../useruploads/images/speedway2.png"></a>
Mit bud ville jo være :
$editor = preg_replace('/<a rel=\"lightbox\" href=\"(.*)\"></a>/', '', $editor);

Håber der er en der kan hjælpe
Avatar billede Slettet bruger
15. marts 2010 - 16:10 #1
Du mangler at escape backslashet når du lukker <a>-tagget, ellers syntes jeg det ser rigtigt ud, så prøv at escape den backslash og se om det gir pote :-)
Avatar billede thomas_buhl Nybegynder
15. marts 2010 - 16:15 #2
$editor = preg_replace('/<a rel=\"lightbox\" href=\"(.*)\"><\/a>/', '', $editor); virker heller ikke
Avatar billede Slettet bruger
15. marts 2010 - 16:38 #3
Der er et eller andet der siger mig du mangler noget imellem <a> og </a> tagsne... ellers ville tagsne være overflødige... så prøv følgende:
$editor = preg_replace("/<a rel=\"lightbox\" href=\".*\">(.*)<\/a>/iG", '\\1', $editor);

// Delimiter 'i' : Case-insensitive
// Delimiter 'G' : Ungreedy
Avatar billede thomas_buhl Nybegynder
15. marts 2010 - 17:38 #4
melder desværre fejl
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'G'
Avatar billede Slettet bruger
15. marts 2010 - 18:58 #5
Hov det var da min fejl ups..

"G" skulle være "U".. må have siddet og tænkt på "Greedy" og så få smidt G'er ind istedet for U'er...

Så prøv ændrer det til følgende:
$editor = preg_replace("/<a rel=\"lightbox\" href=\".*\">(.*)<\/a>/iU", '\\1', $editor);
Avatar billede thomas_buhl Nybegynder
15. marts 2010 - 19:30 #6
Virker heller ikke :'(
Avatar billede thomas_buhl Nybegynder
15. marts 2010 - 19:37 #7
$editor = stripslashes($editor);
$editor = preg_replace("/<a rel=\"lightbox\" href=\".*\"><\/a>/iU", '', $editor);
Dette virkede jeg siger mange tak for din hjælp smider du ikke lige et svar :)
Avatar billede Slettet bruger
15. marts 2010 - 19:40 #8
Men giver den stadig en fejl eller?

Og kan man få en del af koden som man kan se på?
Det undrer mig du vil lave et mønster der skal finde følgende slags kode "<a rel="lightbox" href="*"></a>" da du ikke linker til noget der.
Der må da være noget kode imellem <a> og </a> tagsne?
Avatar billede Slettet bruger
15. marts 2010 - 23:58 #9
Jamen glad for jeg kunne hjælpe med et eller andet... så her får du et svar.
Avatar billede thomas_buhl Nybegynder
16. marts 2010 - 16:34 #10
Nej er der nemlig ikke og derfor preg_ skal fjerne dem ;)
Det er et lightbox mod jeg har udviklet til tinymce, man må jo selv når andre ikke kan få det til at virke :) hehe
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