如何使用PHP加载外部页面并替换该页面上的内容?

问题描述

| 我正在构建一个PHP应用程序,该应用程序允许用户上传广告并在特定网站的特定页面上预览。现在,我正在通过截取网页的屏幕截图,删除广告并放置自己的来做到这一点。这看起来很愚蠢。 获取URL的内容并替换该页面上某个代码之间出现的代码的最佳方法是什么?     

解决方法

         将页面源加载到“ 0”对象中 搜索并替换
DOMDocument
对象上的
XPath
例:
<?php

$dom = new DOMDocument();
$dom->strictErrorChecking = false;
$dom->loadHTMLFile(\"http://www.example.com\");

$xpath = new DOMXPath($dom);

$logoImage = $xpath->query(\"//div[@id=\'header-logo\']//a//img\")->item(0);
$logoImage->setAttribute(\'src\',\'http://www.google.com/images/logos/ps_logo2.png\');

$logoLink = $xpath->query(\"//div[@id=\'header-logo\']//a\")->item(0);
$logoLink->setAttribute(\'href\',\'http://www.google.com/\');

echo $dom->saveHTML();

?>
该示例加载了
example.com
的来源,并将徽标替换为
google.com
\的徽标以及指向google的链接。 该代码没有任何验证,但是应该很容易根据您的需要进行修改:)     ,        我不确定您希望如何执行此操作的完整情况。 但是,根据您的问题,最好的方法是使用Ajax。 通过Ajax传递要显示页面的详细信息,并在php过滤器页面中显示并返回所需结果。 并在Ajax请求的末尾在特定位置显示您的结果。 即使在JavaScript中,您也可以根据需要过滤Ajax请求返回的结果。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...