Scrape FULL image src с PHP

Я пытаюсь очистить img src с помощью php, я могу получить src fine, но если src не включает полный путь, то я не могу его повторно использовать повторно. Есть ли способ захватить полный путь изображения с помощью php (браузеры могут получить его, если вы используете меню правой кнопки мыши).

то есть. Как получить полный путь, включая домен, в одном из следующих двух примеров?

src="../foo/logo.png" src="/images/logo.png" 

Благодаря,

Аллан

Related of "Scrape FULL image src с PHP"

Вам не нужно регулярное выражение … просто терпение. Я действительно не хочу писать код для вас, но просто проверьте, начинается ли src с http:// , а если нет, у вас есть 3 разных случая.

  1. Если он начинается с a / then prepend http://domain.com
  2. Если это начнется с вас, вам придется разделить полный URL-адрес и взломать фрагменты, пока src не начнет с /
  3. Else (начинается с буквы), возьмите полный домен и разделите его до последней косой черты, затем добавьте URL-адрес src.

Или … быть ленивым и украсть этот скрипт

 $url = "http://www.goat.com/money/dave.html"; $rel = "../images/cheese.jpg"; $com = InternetCombineURL($url,$rel); // Returns http://img.ruphp.com/php/cheese.jpg function InternetCombineUrl($absolute, $relative) { $p = parse_url($relative); if($p["scheme"])return $relative; extract(parse_url($absolute)); $path = dirname($path); if($relative{0} == '/') { $cparts = array_filter(explode("/", $relative)); } else { $aparts = array_filter(explode("/", $path)); $rparts = array_filter(explode("/", $relative)); $cparts = array_merge($aparts, $rparts); foreach($cparts as $i => $part) { if($part == '.') { $cparts[$i] = null; } if($part == '..') { $cparts[$i - 1] = null; $cparts[$i] = null; } } $cparts = array_filter($cparts); } $path = implode("/", $cparts); $url = ""; if($scheme) { $url = "$scheme://"; } if($user) { $url .= "$user"; if($pass) { $url .= ":$pass"; } $url .= "@"; } if($host) { $url .= "$host/"; } $url .= $path; return $url; } 

С http://www.web-max.ca/PHP/misc_24.php

Если у вас нет URL-адреса сайта, с которого вы начинаете (в этом случае вы можете добавить его к значению атрибута src), похоже, что все, что осталось, есть строка.

Я предполагаю, что вы, конечно, не имеете доступа к какой-либо дополнительной информации. Если вы разбираете HTML, я бы предположил, что вы должны иметь доступ к абсолютному URL-адресу, по крайней мере, к HTML-странице, но, возможно, нет.