gpt4 book ai didi

php - 使用 HTML 解析器检索第一张图片

转载 作者:行者123 更新时间:2023-12-04 06:52:04 24 4
gpt4 key购买 nike

(母语不是英语)

我正在用 PHP 做一个个人项目,其中使用了 Simple HTML Parser解析给定 URL 的 HTML 并检索 DIV 中具有特定 ID 或类(主要内容、内容、主要内容、包装器等)的第一个图像,并忽略广告。目标是拍摄这张图片并用它制作缩略图,就像 Digg 和其他人一样。

我认为一切正常,直到我在网站 Snopes 上尝试了我的脚本(“http://www.snopes.com/photos/animals/luckycoyote.asp”<-更准确地说是这个页面)。

它得到的第一张图片的来源是:“graphics/luckycoyote1.jpg ”。到目前为止,为了纠正这个问题,我创建了一个小函数来获取给定 URL 的域名并将其插入到 IMG 的源属性之前。所以对于像 Snopes.com 这样的网站,它给了我:“http://www.snopes.com/graphics/luckycoyote1.jpg ” ...而 Snopes 上这张图片的真实 URL 是“http://www.snopes.com */photos/animals/***graphics/luckycoyote1。 jpg”(或更准确地说:“http://**graphics1 .snopes.com/photos/animals/graphics/luckycoyote1.jpg ”——注意这里的子域)。

所以我的主要问题是:当我只获得“相对路径”时,如何从外部/动态检索图像的完整 URL 地址(“绝对路径”)?我很确定这是可能的,因为当我将链接粘贴到 Facebook 的“你在做什么?”例如,它在网站上为我提供了图像的正确路径,图像的来源仅为(示例)“image/photo/example.jpg”。

感谢您的时间。

最佳答案

当你得到一个相对图形 URL graphics/luckycoyote1.jpg这意味着 src=""标签不以 / 开头您应该使用您浏览的当前路径而不是使用域名。

  • 网址:http://www.snopes.com/photos/animals/luckycoyote.asp
  • URL 路径:http://www.snopes.com/photos/animals/

  • 要在 PHP 中运行 dirname('http://www.snopes.com/photos/animals/luckycoyote.asp')它将返回您需要的路径。把那个贴在 graphics/luckycoyote1.jpg 前面你会得到你的形象。

    graphics1.snopes.com 会在服务器上自动发生,您无需担心。当图像 src=""/ 开头使用域名 http://www.snopes.com反而。

    关于php - 使用 HTML 解析器检索第一张图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2968926/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com