Avatar billede kgp43 Nybegynder
23. oktober 2005 - 23:20 Der er 9 kommentarer og
1 løsning

Konverter url

Hejsa,

Mine brugere kan skrive en url til deres hjemmeside i deres profil, men hvordan sikre jeg mig at det bliver i det samme format? (domain.com)


Ex.:

domain.com
www.domain.com
http://domain.com
http://www.domain.com

skal være "domain.com" i min db
Avatar billede leif Seniormester
23. oktober 2005 - 23:22 #1
Hvorfor skal det kun være domain.com ? Hvad så hvis min hjemmeside hedder leif.domain.com ?

Henvis dem til at undlad http:// foran i feltet.
Avatar billede kgp43 Nybegynder
24. oktober 2005 - 00:18 #2
det var bare et eksempel.

Får +500 nye registreringer pr day og der er uden tvivl nogle der taster forkert, hvilket bliver til mange.

Er der en måde hvorved man kan fjerne "http://www."?
Så hvis brugeren taster "www.", "http://" eller "http://www." så bliver det fjernet?

Har lavet følgende, men den sidste vil jo også fjerne "domainwww.com", hvilket er en fejl. Hvordan forhindre jeg dette?

$domain = str_replace("http://www.", "", $domain);
$domain = str_replace("http://.", "", $domain);
$domain = str_replace("www.", "", $domain);
Avatar billede elskermad.dk Nybegynder
24. oktober 2005 - 10:06 #3
if(substr($domain,0,7)=="http://") $domain = substr($domain,7);
if(substr($domain,0,11)=="http://www.") $domain = substr($domain,11);

sådan noget lignende...

men det burde ikke være optimalt at fjerne www. - kender en del sider som ikke vises hvis man ikke har www. foran :)
Avatar billede kgp43 Nybegynder
24. oktober 2005 - 11:21 #4
jeg tilføjer selv "http://www." i mit output fra databasen.

vil lige teste dit forslag :)
Avatar billede kgp43 Nybegynder
24. oktober 2005 - 11:37 #5
virkede, takker for hjælpen.

if(substr($website,0,11)=="http://www.") $website = substr($website,11);
if(substr($website,0,7)=="http://") $website = substr($website,7);
if(substr($website,0,4)=="www.") $website = substr($website,4);
Avatar billede kgp43 Nybegynder
24. oktober 2005 - 11:37 #6
lig et svar "elskermad.dk", så er der point.
Avatar billede elskermad.dk Nybegynder
24. oktober 2005 - 11:42 #7
svar - men kender også sider som ikke virker med www. foran ;)
Avatar billede mixeren Nybegynder
24. oktober 2005 - 11:46 #8
Det er en skidt ide, nogen sider skal _ikke_ have www, andre skal. www bør du lade brugerne om at bestemme. Også nøjes med at tilføje http:// i dit output.

At lave en $domain = str_replace("http://.", "", $domain); er sådan set godt nok, men alt efter hvor fede fingre dine brugere har vil der stadig smutte en masse fejl indtastninger.

F.eks. vil den ikke fange:

http;//www.domæne.dk (semikolon)
http:\\www.domæne.dk (backslash)

Jeg benytter selv nævnte replace, men inden jeg gør det har jeg tjekket for ";" og skrå streger der vender den forkerte vej.
Avatar billede elskermad.dk Nybegynder
24. oktober 2005 - 14:53 #9
mixeren: du kan forestille dig at en adresse ser sådan her ud - http://www.minside.dk/hent.php?url=http://www.andenside.dk så giver din også problemer!

vil altid være bedst at tjekke fra starten, også opstille forskellige fejlseminariumer den kan fjerne :)
Avatar billede mixeren Nybegynder
24. oktober 2005 - 18:09 #10
Jeg kan da godt forestille mig sådan en adresse, men det er yderst sjælden man ser den slags "makværk". Så det problem anser jeg for minimal. Det er langt vigtigere at tjekke for forkerte skråstreger og lignende typiske fejl.

Selvfølgelig er det bedst at tjekke fra starten af url'en. Det er vi ikke uenige om. :-)
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