【问题标题】:Insert Javascript in file_get_contents() php在 file_get_contents() php 中插入 Javascript
【发布时间】:2013-08-26 11:09:48
【问题描述】:

有没有办法在file_get_contents() 的末尾插入一个javascript?

我的意思不是添加到函数的输出中,即 javascript。我想要的是在我从file_get_contents() 获得的网站末尾放置一个脚本。

就像使用 chrome 的扩展,它在网站末尾插入一个 javascript。但就我而言,我希望函数 file_get_contents($url) 直接输出所有内容(插入的网站 + javascript)。

有没有办法在这种情况下使用 cUrl ?

有没有办法做到这一点?

谢谢

【问题讨论】:

  • 手动添加 JavaScript 有什么问题?
  • 使用 DOM 加载 HTML 并插入您的标签。
  • 问题是,通过插入该javascript,您将能够更改网页的内容

标签: php javascript insert file-get-contents inject


【解决方案1】:

您需要在检索到的代码上使用*_replace 函数,或者使用 DOM 类来更改代码。没有办法修改file_get_contents本身添加代码

$script =<<<END
   <script type="text/javascript" src="http://www.example.com/mysscript.js"></script>
   </body>
END;
$html = file_get_contents($url);
$html = str_replace("</body>",$script,$html);

这里假设抓取的内容有完整的html代码,主要包括&lt;/body&gt;标签

【讨论】:

  • 在什么方面不起作用,只是说它不起作用。
  • @AlejandroMorais,忘记添加 $html 作为 str_replace 的最后一个参数,编辑答案以反映,这可能是它不起作用的原因。
  • 不。我的意思是这行得通,但问题是 javascript 应该改变页面的内容并且它不会改变。除此之外,代码有效......
  • 那么你的javascript有问题。您是否查看过 javascript 控制台以查看是否有错误?这个问题应该放在另一个问题中。
猜你喜欢
  • 2013-10-01
  • 1970-01-01
  • 2017-02-14
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
相关资源
最近更新 更多