Avatar billede mac10 Nybegynder
31. juli 2008 - 19:33 Der er 19 kommentarer og
1 løsning

split $_SERVER[HTTP_REFERER]?

Hej alle

Jeg vil gerne have splittet en HTTP_REFERER så jeg kun har host'en. Altså hvis adressen er:

http://www.eksperten.dk/opretspm.phtml

Så vil jeg godt have at den kun finde "eksperten.dk"

Jeg læste lidt om SPLIT funktionen i PHP, men jeg kan ikke helt finde ud af at bruge den.

Er der nogle der kan forklare nærmere?
Avatar billede jensgram Nybegynder
31. juli 2008 - 20:00 #1
Jeg ville nok holde mig til explode i denne omgang:

$pcs = explode('/', $_SERVER['HTTP_REFERER'], 4);

Så skulle du gerne have guf i $pcs[3] ... Se evt. med print_r()
Avatar billede showsource Seniormester
31. juli 2008 - 20:10 #2
Avatar billede jensgram Nybegynder
31. juli 2008 - 20:48 #3
Ja, naturligvis :)

$url = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);

Er da vist noget nemmere
Avatar billede mac10 Nybegynder
31. juli 2008 - 21:25 #4
Tusind tak begge to, det virker flawless :)

Læg venligst et svar for jeres hjælp - mange tak.
Avatar billede mac10 Nybegynder
31. juli 2008 - 21:28 #5
Forresten, hvad hvis der er en undermappe?

F.eks.
www.eksperten.dk/undermappe/enfil.html

Og man gerne vil have undermappe med?
Avatar billede mac10 Nybegynder
31. juli 2008 - 21:31 #6
Og en lille ting til :)

Den tager også www. med, det må den ikke?

Og kan ikke lave en str_replace, i tilfælde af at domænet hedder "mitwww.dk" så udskriver den jo kun "mitdk" hvis jeg fjerner "www." :S
Avatar billede jensgram Nybegynder
31. juli 2008 - 21:48 #7
Hvad med www.eksperten.dk/undermappe/enfil - er "enfil" så en undermappe eller en fil?

Og hvor dybt? www.eksperten.dk/undermappe/igen/og-igen/og
Avatar billede jensgram Nybegynder
31. juli 2008 - 21:50 #8
WWW:

$url = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
$url = substr($url, 0, 4) === 'www.' ? substr($url, 4) : $url;
Avatar billede supersquirrel Nybegynder
01. august 2008 - 00:17 #9
Hvis det er iorden med mac10, har jeg et spørgsmål til dig jensgram, som måske også kan gavne mac10.

Kan du ikke forklare:
$url = substr($url, 0, 4) === 'www.' ? substr($url, 4) : $url;

Du ved, del for del?
substr($url, 0, 4) = tager de første 4 tegn af $url

Hvad resten betyder, ved jeg ikke - så måske det vil gavne mac10 af få det forklaret også :))
Avatar billede mac10 Nybegynder
01. august 2008 - 11:14 #10
Det er helt i orden supersquirrel :)

Det virker flawless jensgram, kan du forklare hvorfor?
Avatar billede michael_stim Ekspert
01. august 2008 - 11:19 #11
=== //Hvis det er en string
? //Hvis sandt
: //Ellers

Det er en if

$variabel=condition ? if true : else
Avatar billede supersquirrel Nybegynder
01. august 2008 - 11:21 #12
Aaaah smart, mange tak ;o)
Avatar billede mac10 Nybegynder
01. august 2008 - 16:54 #13
jensgram, det med undermapper - er det ikke muligt at tage "roden" dvs. www.eksperten.dk fra og derefter tage alt efter det så uanset om det er 1 undermappe eller 10 så udskriver den resultatet?
Avatar billede mac10 Nybegynder
01. august 2008 - 17:03 #14
$url = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH);
$url = substr($url, 0, 4) === 'www.' ? substr($url, 4) : $url;

Der var den :)

Lav venligst svar jensgram
Avatar billede mac10 Nybegynder
01. august 2008 - 17:05 #15
How det var sku ikke helt optimalt :S
Avatar billede jensgram Nybegynder
01. august 2008 - 17:20 #16
Undskyld jeg fik ikke lige kigget mere i går...

Jeg er desuden på vej ud af døren igen, så må jeg ikke vende tilbage i morgen?

Er det sådan?

www.eksperten.dk/undermappe/igen/og-igen/og -> eksperten.dk/undermappe/igen/og-igen/og
www.eksperten.dk/ -> eksperten.dk
www.eksperten.dk/undermappe/fil.html -> eksperten.dk/undermappe/fil.html

Eller hvordan med den sidste?

Det ville nok hjælpe, hvis du opstiller en liste lig opstående, da jeg ikke er helt sikker på, hvad der skal opnås.
Avatar billede mac10 Nybegynder
01. august 2008 - 22:49 #17
Sætter pris på din hjælp.

Den skal helst cutte alt der hedder "http://", "www", "domæne.dk/com/net osv." og bare skrive det efterfølgende.

Uanset om det er
www.eksperten.dk/test.php
www.eksperten.dk/undermappe/entilundermappe/
www.eksperten.dk/undermappe/entilundermappe/test.aspx
www.eksperten.dk/undermappe/entilundermappe/ogendnuentil/ogenfil.aspx

osv. så skal den gemme alt undtagen http://(www.)eksperten.dk

Kan det lade sig gøre?
Avatar billede jensgram Nybegynder
03. august 2008 - 10:49 #18
Dvs.:

http://www.eksperten.dk/test.php -> eksperten.dk/test.php
http://www.eksperten.dk/undermappe/entilundermappe/ -> eksperten.dk/undermappe/entilundermappe/
http://www.eksperten.dk/undermappe/entilundermappe/test.aspx -> eksperten.dk/undermappe/entilundermappe/test.aspx
http://www.eksperten.dk/undermappe/entilundermappe/ogendnuentil/ogenfil.aspx -> eksperten.dk/undermappe/entilundermappe/ogendnuentil/ogenfil.aspx

???

Jeg er meget forvirret :)
Avatar billede mac10 Nybegynder
10. november 2010 - 12:18 #19
Lav svar tak
Avatar billede jensgram Nybegynder
11. november 2010 - 17:05 #20
Jeg formoder at det lykkedes :)
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