Gå til innhold

Erstatte deler av variabel


Anbefalte innlegg

Jeg har en variabel $path som er ca. sånn: /admin/admin.php

 

Den skal til slutt bli sånn: ../Images

 

Hvordan får jeg erstattet "/admin" delen av variabelen med "../" delen, og deretter erstatte "admin.php" delen med Images?

 

Problemet er at vatiabelen ($path) er forskjellig alt etter som hvilket script den kjøres fra (den ligger i en side som blir brukt i include();). Derfor er den noen ganger /admin/admin.php, andre ganger /multimedia/video/show.php, og andre ganger /includes/shout.php.

 

Dvs: Alt som er mellom to slash-er (inkludert slashene) skal erstattes med "../", og det som er etter siste slashen skal erdtattes med "Images"

 

Hvordan kan dette gjøres enklest?

 

På forhånd takk for hjelpen.

Lenke til kommentar
Videoannonse
Annonse

Resultatet skal ikke alltid bli ../Images, men det er alltid det samme i det samme scriptet. Dvs: bruker jeg denne koden i Includes/top.php så skal det alltid bli ../Images (uansett hvilket script som includer top.php).

 

Grubet på dette i mattetimen i dag, og har muligens en løsning, men jeg vet ikke hvordan jeg skal sette den i live:

 

Antall slasher i variabelen minus én definerer hvor mange ganger du skal legge "../" etter hverandre i en ny variabel. Så er det bare å legge på "Images" til slutt i den nye variabelen. Vil ikke det funke (i teorien)?

 

Problemet er å sette det ut i live...

Lenke til kommentar

Dersom hele greia kun består er å forandre det som står mellom to /'er, kan du bruke eregi_replace. eregi_replace($mønster, $kilde). I $mønster skriver du hva som skal byttes ut. Dersom det varierer (slik som du nevnte med at det som sto mellom // varierte) bruker du såkalte regulære uttrykk.

 

Her er et eksempel som ser etter bla/hvasomhelsther/ og bytter det ut med bla/blablabla.

 

<?

$opprinneligtekst = "http://www.skole.no/bla/herskalnoenyttinn/";

$nytekst = eregi_replace("bla/[^/]+/", "bla/blablabla/",

$opprinneligtekst);

print($nytekst);

?>

 

Denne vil printe ut http://www.skole.no/bla/blablabla/ . Du skjønner tegningen.. :)

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...