Permalänk
Medlem

Strängproblem i PHP

Hej.
Håller på och leker lite med PHP men har fastnat med ett litet strängproblem.
Jag har en sträng som ser ut tex så här: /kalle/magnus/peter/

Hur gör jag då för att ta bort allt efter näst sista snedstecket?
Så att resultatet alltså blir /kalle/magnus/

Tacksam för svar...

Permalänk
Medlem

Manualen är ett bra ställe att börja på.
http://se2.php.net/manual/sv/function.strrchr.php

Denna kan ju kombineras med strrev(): snurra strängen, kör strrchr() med '/' som tecken att leta efter och snurra sen tillbaka strängen.

Jag orkade inte kolla igenom hela listan över strängfunktioner, så det kan hända att det finns en som gör exakt vad du är ute efter. Annars fungerar min lösning bra.

Visa signatur

We shall never cease from exploration And the end of all our exploring Will be to arrive where we started And know the place for the first time.
- T. S. Eliot

Permalänk
Medlem

Tänkte faktiskt också på att snurra strängen och kolla efter första förekommande "/"... Men tänkte också att det borde finnas något smidigare sätt

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av boolean
Men tänkte också att det borde finnas något smidigare sätt

Och det finns det.

$var = '/kalle/magnus/peter/'; preg_match('#(.*/)[^/]*/#', $var, $match); echo $match[1]; // skriver ut: /kalle/magnus/

Permalänk
Medlem

Ska testas! Tackar

Permalänk

Ännu ett förslag
Funktionen dirname.

$var = '/kalle/magnus/peter/'; $var = dirname($var); echo $var; // skriver ut: /kalle/magnus

Vet inte hur noga du är med sista slashet där som inte kommer med i detta fall.

Visa signatur