【问题标题】:jQuery / PHP - Embed image from external pagejQuery / PHP - 从外部页面嵌入图像
【发布时间】:2022-01-09 10:34:54
【问题描述】:

我目前正在开发一个网站,该网站需要我通过 jQuery 或 PHP 从外部网站加载标签的图像源,以便将该图像嵌入到我的页面上,有没有办法通过 XPath 来做到这一点?

编辑: 基于我所做的额外研究——在此处和之后提出问题之前——我现在找到了解决方案。 Sergey Ligus 给了我正确的方法。 file_get_contents 不起作用的问题是页面似乎阻止了这种请求,我不得不通过 stream_context_create 伪造一个 user_agent。

例子:

$context = stream_context_create([
        'http' => [
                'user_agent' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)',
        ],
]);

$html = file_get_contents('URL', false, $context);
$dom = new DOMDocument();
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$result = '';
foreach ($xpath->query('XPATH') as $child) {
    $result .= $dom->saveHTML($child);
}

【问题讨论】:

  • 您是否尝试过在后端使用file_get_contentscurl 获取页面,然后使用DOMXPath 解析html 内容并将解析的链接保存在数据库中?之后,您可以简单地从 db 获取链接并通过 php 呈现页面,其中包含没有 JQuery 的嵌入链接以及对外部网站的大量不必要的请求。但在这种情况下,我宁愿将解析逻辑移出网站范围/线程,因为它会阻止用户体验,直到所有链接都被获取。
  • 我已经尝试过 file_get_contents 但它不起作用......当我打印 assined 变量时,我只是从我自己的网络服务器打印了“/的索引”......
  • 我不明白这里的问题。您不能将外部 URL 设置为 external.link"> 吗?

标签: javascript php jquery backend embed


【解决方案1】:

我找到了可以回答您问题的内容...
https://stackoverflow.com/questions/22580458/how-to-load-image-from-external-url-in-jquery-wordpress-theme
如果这不能回答你的问题,我可以告诉你如何在 vanilla JS 中做到这一点:)

【讨论】:

    猜你喜欢
    • 2010-10-21
    • 1970-01-01
    • 2012-01-16
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    相关资源
    最近更新 更多