Gå til innhold

Problemer med å trimme nettadresse


Anbefalte innlegg

Hei, har et problem jeg ikke skjønner meg på. Jeg har et script som kjører på flere sider, og scriptet skal hente adressen til siden. Adressen jeg skal data fra er:

http://snotpope.com/thenightbefore/index.p...in&edit=mp3

Jeg skal hente ut teksten "/thenightbefore".

Jeg bruker rtrim på variabelen $_SERVER['PHP_SELF'].

 

echo $_SERVER['PHP_SELF'];

gir /thenightbefore/index.php

Mens

echo rtrim($_SERVER['PHP_SELF'], '/index.php');

gir /thenightbefor

 

Altså e-en fjernes. Noen som har ideer om hvorfof i all verden dette skjer?

 

Gjør akkurat det samme med denne adressen: http://snotpope.com/prostitutes/index.php?...in&edit=mp3

echo rtrim($_SERVER['PHP_SELF'], '/index.php');

gir da /prostitutes

 

 

Noen som har ideer hvorfor koden min behandler disse forskjellig? Eller har andre ideer til hvordan jeg skal hente og strippe ned adressen?

Lenke til kommentar
Videoannonse
Annonse

http://no.php.net/manual/en/function.rtrim.php

 

Hvis du leser definisjonen av rtrim litt nøyere vil du se at filter-strengen du sender til funksjonen er ett tegn filter, ikke en streng som skal fjernes i slutten av den opprinnelige strengen. Du benytter feil funksjon.

 

Du skal få akkurat det resultatet du får.

 

Forslag til løsning

 

Du kan benytte

strrpos()

http://no.php.net/manual/en/function.strrpos.php

 

Hvis du finner siste "/", vil du i normale tilfeller ha adressen forran denne.

 

Du kan deretter benytte

substr()

http://no.php.net/manual/en/function.substr.php

Hent frem det som står opp til og med siste "/".

 

Jeg har ikke benyttet disse super-globale variablene slik du gjør, så jeg har ikke satt meg inn i detaljene rundt dem. Det er fullt mulig at det er gedigne problemer med den metoden jeg har forslått, så jeg vil anbefale deg å lese deg opp på temaet her:

 

http://no.php.net/manual/en/reserved.varia...ariables.server

Endret av FrodeNilsen
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...