私はこれを行う方法を理解するのに苦労しています。HTML ページへの絶対 URL があり、そのベース URL を取得する必要があります。したがって、URL は次のようになります。
- http://www.example.com/
- https://www.example.com/foo/
- http://www.example.com/foo/bar.html
- https://alice@www.example.com/foo
等々。したがって、最初の問題は、これらの 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 を見つけることは私が見逃していることであり、ここで私が求めていることです。