jQuery / PHP - 从外部页面嵌入图像

Posted

技术标签:

【中文标题】jQuery / PHP - 从外部页面嵌入图像【英文标题】:jQuery / PHP - Embed image from external page 【发布时间】: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"> 吗? 【参考方案1】:

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

【讨论】:

以上是关于jQuery / PHP - 从外部页面嵌入图像的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 从外部公共文件夹提供 css 图像

如何从jQuery中的缩略图放大图像?

如何从嵌入式视频中获取缩略图?

php 数据URI将图像嵌入页面

使用 ajax、jquery 和 PHP 从数据库更新图像不起作用

如何从外部 php jquery 加载内容