2

假设有一个 HTML 页面,其中包含以下代码 -

<body>
  <div id='some_id'></div>
  <script>
     var div = document.getElementById("some_id");
     var input = document.createElement("input");
     input.type="text";     
     input.value="text box";
     div.appendChild(input); 
 </script>
</body>

现在如果我查看源代码,我会看到上面的代码。但是如果我使用萤火虫,我会看到这个 -

<body>
  <div id='some_id'><input type="text"></div>
  <script>
     var div = document.getElementById("some_id");
     var input = document.createElement("input");
     input.type="text";     
     input.value="text box";
     div.appendChild(input); 
 </script>
</body>

也就是说,最终呈现的 HTML 输出是不同的。让我们假设这个文件在另一个服务器上,比如 - http://www.someanotherserver.com/some_file.html

现在是否有可能在 PHP 中获得最终呈现的 HTML 输出?file_get_contents我想只会显示我在视图源中看到的内容。

4

1 回答 1

2

使用 PHP,没有办法获得最终呈现的 HTML。这是因为对原始源代码所做的更改是在 javascript 执行时完成的。这需要你有一个 Javascript 引擎/运行时(你的浏览器有一个)。

doing和file_get_contents()doing 是一样的——它查询服务器,但不执行任何JS 。curlwget

于 2013-11-08T07:25:21.017 回答