J'essaie de comprendre comment convertir un « chemin relatif extérieur » à un absolu: Je voudrais vraiment une fonction qui procédez comme suit:PHP convertir chemin relatif externe au chemin absolu
$path = "https://stackoverflow.com/search?q=query";
$host = "http://google.com";
$abspath = reltoabs($host, $path);
Et ont $ abspath égal à "http://google.com/search?q=query" Un autre exemple:
$path = "top.html";
$host = "www.example.com/documentation";
$abspath = reltoabs($host, $path);
Et ont abspath $ égal à "http://www.example.com/documentation/top.html"
Le problème est qu'il n'est pas garanti d'être dans ce format, et il pourrait déjà être absolu, ou pointer vers un hôte différent entièrement, et je ne suis pas sûr de la façon d'aborder cela. Merci.
Si vous pouvez afficher toutes les différentes formes de chemins et hôtes que vous obtiendrez, ou au moins une bonne variété, il peut aider à la direction de le faire. Aussi, où obtenez-vous ces données? Cela pourrait être utile: http://us3.php.net/manual/fr/function.parse-url.php –
En théorie, ce contenu sera généré par l'utilisateur, et pourrait être partout: Les hôtes peuvent être: "google.com", "http://www.google.com/prdhp?hl=fr&tab=wf" (c'est-à-dire qu'il peut inclure un chemin) et devront extraire le domaine de cette chaîne. Les chemins peuvent aller de: "example.com/donuts" à "/testing/n.html" et il est nécessaire de détecter si un domaine s'y trouve. – skeggse
Je suppose que je dois clarifier mon commentaire précédent, car il y a deux éléments de données donnés au programme: l'HOST, qui est le site sur lequel les URL ont été récupérées, et le PATH, qui est un chemin qui peut peut ne pas exister sur ce site, et s'il ne spécifie pas de domaine, alors le domaine doit être retiré de l'HÔTE. – skeggse