Hi,
also ich bastel an einem kleinen script, und dort muss ich die url zerlegen. Folgende möglichkeiten der url gibt es.
derzeit mache ich das mit folgendem ausdruck:
geht an sich schon ganz gut, nur machen die letzten beiden möglichkeiten probleme. Mir ist auch klar das es an dem \/+ liegt, aber ich hab lange probiert und dennoch keine wirkliche lösung gefunden
mfg Spoocy
also ich bastel an einem kleinen script, und dort muss ich die url zerlegen. Folgende möglichkeiten der url gibt es.
//server.de/datei.txt
//server.de/verzeichniss/verzeichniss/datei.txt
/datei.txt
/verzeichniss/datei.txt
http://www.server.de/datei.txt
http://www.server.de/verzeichniss/datei.txt
http://server.de/datei.txt
http://server.de/verzeichniss/datei.txt
http://www.server.de/datei.txt
http://www.server.de/verzeichniss/datei.txt
http://www.server.de
http://www.server.de/
derzeit mache ich das mit folgendem ausdruck:
PHP:
if (@preg_match("/^(http:\/\/|www\.|\/\/|\/)?(.*)\/+(.*)$/i", $value, $regs))
{
switch ($regs[1])
{
case "":
case "/":
$host = $ownedHost;
$path = $regs[2];
$datei = $regs[3];
break;
case "//":
$split = explode("/", $regs[2],2);
$host = "http://".$split[0];
$path = $split[1];
$datei = $regs[3];
break;
case "www.":
$split = explode("/", $regs[2],2);
$host = "http://www.".$split[0];
$path = $split[1];
$datei = $regs[3];
break;
case "http://":
$split = explode("/", $regs[2],2);
$host = "http://".$split[0];
$path = $split[1];
$datei = $regs[3];
break;
}
}
geht an sich schon ganz gut, nur machen die letzten beiden möglichkeiten probleme. Mir ist auch klar das es an dem \/+ liegt, aber ich hab lange probiert und dennoch keine wirkliche lösung gefunden
mfg Spoocy