Avatar billede ducks Nybegynder
02. marts 2008 - 00:25 Der er 5 kommentarer og
1 løsning

preg_match_all hvor slut tegn ikke kendes

Jeg prøver at lave en preg_match_all til at identificere alle links fra en record i databasen. Jeg ved at de allesammen starter med http://, men det er tilfældigt, hvad de slutter med og nogle står der [??? i enden af uden mellemrum efter. Så hvordan løser jeg det problem?
Avatar billede olebole Juniormester
02. marts 2008 - 03:28 #1
<ole>

Du begynder med at forklare mere præcist, hvad du leder efter - og i hvad. Der må være nogle præcise mønstre, der skal søges med ... men det er ikke til at finde ud af med de givne info  :)

/mvh
</bole>
Avatar billede olebole Juniormester
02. marts 2008 - 03:29 #2
Jeg er f.eks. ikke helt sikker på, hvordan jeg skal tolke:
"det er tilfældigt, hvad de slutter med og nogle står der [??? i enden af uden mellemrum efter"
Avatar billede ducks Nybegynder
02. marts 2008 - 04:11 #3
Nej ok. Det skal ende ved, linieskift, mellemrum, der er ikke mere, punktum, komma, udråbstegn, [. Så det er vel noget med:

preg_match_all("|http://(.*)[\[., \n]|", $input, $output, PREG_PATTERN_ORDER);

Og så på den rigtige måde, så det virker selvfølgelig.
Avatar billede nielle Nybegynder
02. marts 2008 - 08:39 #4
Det ville nok hjælpe hvis du vise nogle typiske eksempler. :^)
Avatar billede erikjacobsen Ekspert
02. marts 2008 - 08:41 #5
Jeg tror ikke du skal slutte ved punktum. Så kommer du til:    http://www.
Avatar billede ducks Nybegynder
02. marts 2008 - 14:03 #6
Ja den med punktum kom jeg også selv til at tænke på bagefter :), det ville nok ikke være helt smart.

Fandt selv løsningen efter lidt tid:

preg_match_all("|http:\/\/(.*)[\[\s]|U", $input, $output, PREG_PATTERN_ORDER);
echo '<pre>'. htmlentities(print_r($output[1], true)) .'</pre>';

Og komma er heller ikke smart, mener at jeg har set den i nogle URL adresser nogle gange.
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