0

私はこれを行う方法を理解するのに苦労しています。HTML ページへの絶対 URL があり、そのベース URL を取得する必要があります。したがって、URL は次のようになります。

等々。したがって、最初の問題は、これらの URL と他の URL からベース URL を見つけることです。2 番目の問題は、一部の HTML ページに base タグが含まれていることです。これは、たとえばhttp://example.com/、または単純なものである可能性があり/ます (一部のブラウザーは、? で始まるものしかサポートしていないと思いますがprotocol://)。

いずれにしても、PHPでこれを正しく行うにはどうすればよいですか? URL があり、HTML が DOMDocument に読み込まれているので、base タグが存在する場合はかなり簡単に取得できるはずです。たとえば、ブラウザはこれをどのように解決しますか?


これが必要な理由の説明

Web ページへの URL を受け取り、この Web ページがリンクしているすべての画像への絶対 URL を返すものを作成しようとしています。これらの画像の一部/多く/すべてが相対 URL を持っている可能性があるため、それらを絶対 URL にするときに使用するベース URL を見つける必要があります。これは、Web ページのベース URL である場合もあれば、HTML 自体で指定されたベース URL である場合もあります。

HTML を取得して URL を見つけることができました。使用するベース URL がある場合に、URL を絶対にする作業方法も見つけたと思います。しかし、ベース URL を見つけることは私が見逃していることであり、ここで私が求めていることです。

4

2 に答える 2

4

を参照してくださいparse_url()

$result=parse_url('http://www.google.com');
print_r($result);

あなたが探している要素をそこから選んでください。あなたはおそらく欲しいです$result['path']

于 2011-04-14T15:10:38.437 に答える