问题描述
|
我正在构建一个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请求返回的结果。