在PHP变量

时间:2015-05-30 05:57:20

标签: javascript php jquery html

我有一个网站,其中一个插件加载变量,其中包含一个CDN JS文件。这个CDN JS文件使用$document.write();

将一些HTML写入我的网站

现在,我想修改此$document.write();的内容如何将CDN请求的结果加载到变量?

例如: 我的PHP代码是:

$var = '<script type="text/javascript" src="http://edeetion.com/ebayproxy/index.js.php?&requestType=EBaySeller&sellerID=holyheadmusic&maxEntries=2&openlink=_blank&categoryId=&sortOrder=EndTimeSoonest&item.filter(0).name=ListingType&item.filter(0).value(0)=All&sourceSite=3&floatorder=floating&displaydate=true&proxy_display_language=en"></script>';
echo $var;

现在这个脚本调用我希望将它存储在变量&amp;后来回到我的网站上。 相反,这只是echos这个脚本。这个脚本是envokes&amp; $document.write做了它的东西。我无法控制它。

我尝试过使用preg_replace()的解决方案,但只有在HTML内容可以加载到PHP变量中时才能使用。

请帮忙!

2 个答案:

答案 0 :(得分:1)

分享,因为它可能对其他人有用。

找到解决方案

$doc = new DOMDocument();
@$doc->loadHTML($resp);
$xpath = new DOMXPath($doc);
$src = $xpath->evaluate("string(//script/@src)"); 

$Vdata = file_get_contents($src);

这种方式$Vdata包含CDN JS&amp;的内容。我可以使用preg_replace();

进一步修改其内容

所以这里的英雄是file_get_contents();

答案 1 :(得分:0)

为什么不在服务器上使用该脚本?因为你现在正在做的是尝试仅从你的服务器处理脚本,这会破坏CDN的目的。而是在您的服务器上使用它,然后您将完全控制它。