Avatar billede straszek Praktikant
04. juni 2007 - 19:26 Der er 7 kommentarer og
1 løsning

validering/ændring af streng

Jeg har et system hvor man kan gemme links.

Jeg har brug for at få "renset" strenge $url så denne altid bliver f.x. www.dr.dk og ikke http://www.dr.dk - hvis det er dette brugeren har indtastet.

Hvordan skal den kringels?
Avatar billede jensgram Nybegynder
04. juni 2007 - 19:39 #1
Hvis du altid vil fjerne "http://" (7 tegn i starten), så:

$url = substr($url, 7);
Avatar billede jensgram Nybegynder
04. juni 2007 - 19:40 #2
Hvis det er protokollen (eller et scheme i en hierarkisk URI), så kan du benytte RE:

$url = preg_replace('/[a-z]+:\/\/(\S+)/', '\\1', $url);
Avatar billede straszek Praktikant
04. juni 2007 - 21:21 #3
Hej,

Jeg kan ikke altid være sikker på at $url ikke indeholder http:// så metoden med at fjerne de først 7 tegne vil nok være lidt for risikabel. Dit andet forslag kan jeg ikke helt gennemskue hvad går ud på?
Avatar billede jensgram Nybegynder
04. juni 2007 - 21:24 #4
Ok. Det går ud på, at tegn før strengen "://" (uden anførselstegn), samt "://" fjernes fra en streng ($url):

http://www.dr.dk -> www.dr.dk
ftp://noget -> noget
hest://dyr -> dyr
https://sikker -> sikker
...

Den er utestet, men jeg kan ikke lige deciderede fjel!
Avatar billede jensgram Nybegynder
04. juni 2007 - 21:26 #5
Måske lidt mere elegant (og evt. hurtigere):

$url = preg_replace('|[a-z]+://|', '', $url);
Avatar billede jensgram Nybegynder
23. juni 2007 - 16:51 #6
Kunne det bruges?
Avatar billede straszek Praktikant
27. august 2007 - 19:15 #7
jeps smidt et svar
Avatar billede jensgram Nybegynder
28. august 2007 - 12:19 #8
Tjek!
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