Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
01.06.2007, 09:08
chriss



Ich brauche nen regulären Ausdruck für preg_split um alles nach dem dritten Slash abzuschneiden.

http://www.foo.com/bar
(Wobei "bar" nun abgeschnitten werden soll.)

Irgendwie komme ich auf keinen grünen Zwei, eventuell hat ja jemand ein Herz für mich. ;)

--


Dieser Beitrag wurde am 01.06.2007 um 09:08 von nox bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
01.06.2007, 11:01
hausi



Wieso preg_split? preg_split trennt einen String bei allen gefunden Matches. Deshalb wird das ganze komplizierter, als du es eigentlich haben willst. Wenn du bei / trennen möchtest, solltest du explode verwenden, wenn du nur die URL in seine Bestandteile zerlegen möchtest, dann sowas:
PHP-Quellcode:<?php
preg_match
('^(http|https|ftp)://([a-z][a-z0-9-\.]*[a-90-9]\.[a-z]{2-5})/(.*)$'$str$matches);
?>
$matches beinhaltet dann deine URL:
[0]: gesamte URL
[1]: Protokoll
[2]: Hostname
[3]: Request URI
Was du ev. noch ergänzen solltest:
- Port (www.example.com:8080)
- User / Passwort (user:password@www.example.com)
- Query string (www.example.com/?querystr)
Etwas einfacher und ev. auch schneller, dafür aber weniger flexibel:
PHP-Quellcode:<?php
$a_url 
explode('/'$str);
// $a_url[0] -> protokoll
// $a_url[2] -> hostname
// $a_url[3] und weitere -> pfad
array_shift($a_url);
array_shift($a_url);
array_shift($a_url);
$path implode('/'$a_url);
?>
Edit:
Beides ungetestet und nach bestem Wissen und Gewissen.

--


Dieser Beitrag wurde am 01.06.2007 um 11:01 von hausi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
01.06.2007, 12:59
chriss



Ich machs hiermit: http://php.net/parse_url :)

Aber danke!

--

zum Seitenanfang zum Seitenende Profil || Suche