Je capture des données à partir d'une URL externe en utilisant php et le renvoie à ma page via ajax pour charger des images. Mon problème est l'url externe ont des images qui sont relatives ("images/example.jpg"), donc je dois préfixer leur domaine de base ("http://www.example.com) afin que je puisse le charger dans ma page.Problème est certaines des images comprend un URL de domaine de base mais certains sont dans leur forme relative.Im devinant peut-être utiliser regex dans mon javascript à la détermine la chaîne si elle a une base ("http://example.domain.com") ou juste un parent ("images /"). y parvenir par regex?Comment puis-je déterminer qu'une chaîne d'URL d'image est sans un domaine de base via javascript?
Comment puis-je déterminer qu'une chaîne d'URL d'image est sans un domaine de base via javascript?
Répondre
Si vous pouvez l'analyser en PHP - je ferais ce que l'alanhaggai suggéré: parse_url
. Si vous avez besoin d'aller en javascript: vérifiez s'il y a un protocole au début (par exemple: http: // https: // ftp: //). Fondamentalement, vérifiez ://
dans la première douzaine de caractères de l'URL.
Parse l'URL dans le script PHP en utilisant parse_url. Si le tableau associatif ne contient pas les clés host
ou scheme
, vous pouvez réécrire l'URL pour les inclure.
J'ai modifié ma description pour la rendre plus claire. Je ne peux pas faire l'analyse d'une URL par php parce que je reçois beaucoup de balises html et les renvoie à ma page via jquery puis charge à partir de là. – cybervaldez
vous ne être capable de distinguer entre un re URL fixe comme "images/blank.gif" et url relative "www.theirdomain.com/images/blank.gif". Qui peut dire que "www.theirdomain.com" n'est pas un annuaire?
Si l'URL ne commence pas par http: //, https: // ou //, elle est relative à l'URL de la page où vous les avez récupérés.
si une image a src = "www.theirdomain.com/images/blank.gif" alors c'est un répertoire. – nickf
merci! cela pourrait être la meilleure chose pour moi en ce moment. – cybervaldez