PHP:将相对 img src url 转换为绝对 URL
我已经使用 cURL 将 HTML 页面提取到字符串中,并将其加载到 DOMDocument 中。在那里我可以获得所有的 img 标签及其源属性。我现在的问题是...我怎样才能使这些 URL 绝对化?
URL 列表可以包含各种变体,例如:
foobar.jpg
http://example.com/foobar.jpg
/foobar.jpg< /code>
../foobar.jpg
folder/foobar.jpg
如果从任意 URL 获取 HTML,将这些图像 URL 转换为绝对 URL 的安全方法是什么那些?有没有办法也可以考虑基本标签?
I have fetched an HTML page using cURL into a string and loaded it up in a DOMDocument. There I can get all the img tags and their source attributes. My problem now is... how can I make these URLs absolute?
The list of URLs can contain all kinds of variants, for example:
foobar.jpg
http://example.com/foobar.jpg
/foobar.jpg
../foobar.jpg
folder/foobar.jpg
If the HTML is fetched from an arbitrary URL, what is a safe way of converting these image URLs into absolute ones? Is there a way you can take the base tag into consideration too?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个很棒的 PHP 示例,说明如何执行此操作。
更多好的示例:
Here is great PHP example how to do this.
More good examples:
在这里,您可以在此页面上找到一个方便的函数:
$rel
是您的相对路径,$base
是您的基本 URL。Here you are a handy function found on this page :
$rel
is your relative path and$base
is your base URL.