Avatar billede ducks Nybegynder
17. august 2005 - 00:26 Der er 5 kommentarer og
1 løsning

Simpel regular expression

Hvis jeg har en string med fx "<a href="#">blabla1</a> / <a href=""#¤%">blabla2</a> / <a href="#&¤">blabla3</a>" og gerne vil have den ind i en <select> med mulighederne splittet ved /. Håber mit simple eksempel kan forstås ;)

Jeg vil ikke kunne bruge split funktionen da det vil kunne give problemer, så det skal være regex.
Avatar billede nielle Nybegynder
17. august 2005 - 07:46 #1
F.eks. sådan:

if (preg_match_all("/(<a href=\".+?\">.+?</a>)/i", $dinStreng, $matches))
{
    foreach ($matches[1] as $match)
    {
        echo "<option>" . $match . "</option>";
    }
}
Avatar billede ducks Nybegynder
19. august 2005 - 01:25 #2
Det er meget fint, men det kommer til at se sådan ud (linket skulle gerne væk så der kun er det mellem "> og </a> tilbage):

<option><a href="www.domæne.dk/mappe/undermappe/">Det her er det eneste der skal med</a></option>
Avatar billede nielle Nybegynder
19. august 2005 - 06:44 #3
if (preg_match_all("/<a href=\".+?\">(.+?)</a>/i", $dinStreng, $matches))
{
    foreach ($matches[1] as $match)
    {
        echo "<option>" . $match . "</option>";
    }
}
Avatar billede ducks Nybegynder
19. august 2005 - 12:06 #4
Nu finder den ingenting, der skal btw stå <\/a> istedet for </a>
Avatar billede ducks Nybegynder
19. august 2005 - 12:07 #5
Hov min fejl, nu virker det som det skal. Vil du have point?
Avatar billede nielle Nybegynder
19. august 2005 - 14:41 #6
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