РЕДАКТИРОВАТЬ: Чтобы получить URL, который я хотел, вам придется нормализовать / канонизировать его, как указал мой Марк. Чтобы достичь этого, вы можете использовать класс, такой как класс pear, предложенный Marc , или вы можете попробовать realpath php ... однако realpath не будет работать для меня из-за некоторых вещей, которые я делаю в htaccess. ... но вы могли бы использовать некоторые альтернативы, такие как тот, который я нашел здесь ; который, казалось, работал довольно хорошо.
ПРИМЕЧАНИЕ: Альтернатива реального пути (truepath), написанная Christian Sciberras - это модифицированная версия оригинального сценария Sven Arduwies .
Вот немного псевдо HTML:
<body><img src="../resources/image.jpg"></body>
Вот PHP:
$doc = new DOMDocument();
$doc->loadHTMLFile("http://www.foobar.com/project/");
$imageList = $doc->getElementsByTagName("img");
$imageCnt = $imageList->length;
for ($idx=0; $idx<$imageCnt; $idx++) {
echo $imageList->item($idx)->getAttribute("src");
}
Результат будет:
../resources/image.jpg
Но на самом деле я хочу:
http://www.foobar.com/resources/image.jpg
Путь входящего изображения не всегда будет согласованным; они могут быть абсолютными или относительными путями, не всегда из одной и той же области, и, очевидно, не всегда одинаковыми путями.