Xpathを使用してページ上のすべての画像をキャッチしようとしています。次に、ノードリストを反復処理して、画像に属性があるかどうかを確認します。属性がある場合は、srcに到達するまで属性を反復処理します。問題は、/us/english/images/12/something.jpeg
またはのような相対パスを取得するときです。そのようなもの..私の質問は:フルパスを取得する方法はありますか?
返されたsrcを正規表現して、ホストが存在しない場合はサイトのURLを使用してホストを探すことを考えましたが、それを確認するのは難しい場合があります。
また、URLを解析して、ホスト部分に「。」ドットが含まれている場合は['host']部分をチェックする必要があると思いました。これは、ホストが存在することを意味し、追加しないでください。
これが私がこれまでに持っているものです:
$image_list = $xpath->query('//img');
foreach($image_list as $element){
if($element->hasAttributes()){
foreach($element->attributes as $attribute){
if(strtolower($attribute->nodeName) == 'src'){
echo $attribute->nodeName. ' = ' .$attribute->nodeValue.'<br>';
}
}
}
}
助けていただければ幸いです。