PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] URL Manipulation ähnlich java.net.URL


Captain America
2005-11-10, 10:12:05
Gibts in PHP eine Funktion oder Klasse, mit der ich URLs manipulieren kann, mit einem ähnlichen Komfort wie bei Javas java.net.URL? Sinn ist es, aus einer Absoluten und einer Realtiven URL eine neue URL zu bauen:


URL 1 + URL 2 = URL 3

URL 1: http://www.forum-3dcenter.org/vbulletin/newthread.php
URL 2: ../favicon.ico
URL 3: http://www.forum-3dcenter.org/favicon.ico

Gast
2005-11-10, 18:10:44
Mir ist jetzt keine fertige Klasse oder Funktion bewusst, aber sie selber zu schreiben dürfte wirklich nicht allzu aufwändig sein.

PatkIllA
2005-11-10, 18:18:14
Die dinger kannst du auch einfach hintereinander hängen
http://www.forum-3dcenter.org/vbulletin/newthread.php/../favicon.ico

Sephiroth
2005-11-10, 18:42:22
hilft dir parse_url (http://de2.php.net/manual/de/function.parse-url.php) oder PEAR NET_URL (http://pear.php.net/package/Net_URL/) (doku (http://pear.php.net/package/Net_URL/docs/latest/apidoc/Net_URL-1.0.14/Net_URL.html)) vielleicht weiter?

/edit:
also Net_URL::resolvePath() dürfte das richtige sein -> http://pear.php.net/package/Net_URL/docs/latest/apidoc/Net_URL-1.0.14/Net_URL.html#methodresolvePath

Captain America
2005-11-10, 19:57:25
Mir ist jetzt keine fertige Klasse oder Funktion bewusst, aber sie selber zu schreiben dürfte wirklich nicht allzu aufwändig sein.

Sooo lange auch nicht, aber die Zeit das zu schreiben, bis es komplett und bugfrei ist, ist mir zu lange. Dieses mal will ich das Rad nicht neu erfinden.

Die dinger kannst du auch einfach hintereinander hängen
http://www.forum-3dcenter.org/vbulletin/newthread.php/../favicon.ico

Hier schon, aber in der Realanwendung ist das ungewünscht, da soll ein Canonical Path hin und gut.


hilft dir parse_url (http://de2.php.net/manual/de/function.parse-url.php) oder PEAR NET_URL (http://pear.php.net/package/Net_URL/) (doku (http://pear.php.net/package/Net_URL/docs/latest/apidoc/Net_URL-1.0.14/Net_URL.html))vielleicht weiter?

/edit:
also Net_URL::resolvePath() dürfte das richtige sein -> http://pear.php.net/package/Net_URL/docs/latest/apidoc/Net_URL-1.0.14/Net_URL.html#methodresolvePath

Das schaut interessant aus, morgen mal reinsehen, thx! :uup:

Sephiroth
2005-11-11, 21:49:33
$uri = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/".$relative_url
damit kann man auch relative urls verwenden (hier gefunden (http://de3.php.net/header))