Как определить строку URL изображения без базового домена через JavaScript? - PullRequest
1 голос
/ 25 мая 2009

Я собираю данные с внешнего URL-адреса с помощью php и возвращаю их обратно на мою страницу через ajax для загрузки изображений. Моя проблема заключается в том, что у внешних URL-адресов есть некоторые изображения, которые являются относительными ("images / example.jpg"), поэтому мне нужно предварительно добавить их базовый домен ("http://www.example.com), чтобы я мог загрузить его на своей странице. Проблема в том, что изображения включают в себя URL базового домена, но некоторые из них находятся в их относительной форме. Я предполагаю, может быть, использовать регулярное выражение в моем javascript для определения строки, если она имеет основание ("http://example.domain.com") или просто относительный (" images / " ) к нему. Как я могу достичь этого с помощью регулярных выражений?

Ответы [ 3 ]

0 голосов
/ 25 мая 2009

Вы не сможете различить относительный URL-адрес, например «images / blank.gif», и относительный URL-адрес, на котором указано «www.theirdomain.com/images/blank.gif». Кто сказал, что www.theirdomain.com - это не каталог?

Если URL-адрес не начинается с http://, https: // или // он относится к URL-адресу страницы, с которой вы их удалили.

0 голосов
/ 26 мая 2009

Если вы можете разобрать его в PHP - я бы сделал то, что предложил alanhaggai: parse_url. Если вам нужно сделать это в javascript: просто проверьте, есть ли протокол в начале (например: http: // https: // ftp: //). В основном проверьте наличие :// в первых дюжинах символов URL.

0 голосов
/ 25 мая 2009

Разбор URL-адреса из скрипта PHP с помощью parse_url . Если ассоциативный массив не содержит ключей host или scheme, вы можете переписать URL, чтобы включить их.

...