PHP DOMElement getAttribute Абсолютный путь URL? - PullRequest
0 голосов
/ 15 августа 2011

РЕДАКТИРОВАТЬ: Чтобы получить 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

Путь входящего изображения не всегда будет согласованным; они могут быть абсолютными или относительными путями, не всегда из одной и той же области, и, очевидно, не всегда одинаковыми путями.

...