1

simple_html_domサイトの画像を取得するために使用します。ただし、画像のリンクの前に完全なドメイン URI が付けられていない場合があります (例: http://example.com. それらは次のように表示されます

  • images/_home-ss-21.jpg
  • /_home-ss-22b.jpg
  • ./_1249a7s.png または
  • ../../../a19489s_20110412.jpeg.

これらの URI を、プロトコルとドメイン情報を含む絶対 URI に変換する方法を教えてください。

<?php
header('Content-type:text/html; charset=utf-8');
require_once 'simple_html_dom.php';
$v = 'http://www.typepad.com/';
$html = file_get_html($v);
foreach($html->find('img') as $element) {
    echo $element->src.'<hr />';   
}
?>
4

3 に答える 3

2

内部で、foreach次のことを試して、画像への URL を構築できます。

$img_src = $element->src;
if(!strstr($img_src, 'http://')) {
    $img_src = $v . $img_src;
}
echo $img_src . '<hr /';

相対 URL を絶対 URL に変換するために、この作業を実行できるスクリプトがいくつかあります。

私はそれらを試したことはありませんが、これを乗り越えるのに役立つはずです.

于 2011-04-13T12:41:59.867 に答える
2

3 つのオプション:

  1. 他サイトの画像は http:// で始まる > 直リンクを使う
  2. / で始まる画像 > 他サイトのホームURL + 画像を使用
  3. 画像が / で始まらない
于 2011-04-13T12:45:06.220 に答える
1

./ は現在のディレクトリであるため、 http: //example.com にいて、src 属性が ./hoopy_frood.png の画像が表示された場合、アドレス全体が http://example.com/hoopy_frood.png であることを意味します

../ は 1 つ上のディレクトリを意味します。たとえば、http: //example.com/ice_cream/sundae.html で src 属性 ../images/hoopier_is_not_a_word.gif を持つ画像が表示された場合、画像 hoopier_is_not_a_word.gif はこのディレクトリは、ice_cream というディレクトリと共にサイトのルート ディレクトリ内にあります。

于 2011-04-13T12:40:37.290 に答える