【问题标题】:How to extract HTML from PHP files?如何从 PHP 文件中提取 HTML?
【发布时间】:2012-01-20 06:53:42
【问题描述】:

我有一堆 PHP 文件,我想从中提取最终的 HTML 结果。例如,如果 PHP 文件内容类似于:

<ul id='<% echo($newsListId) %>'>
   // PHP loop to create <li> elements
</ul>

应该提取的是:

<ul id='news-list'>
   <li>First News</li>
   <li>Second News</li>
   <li>Third News</li>
   <li>Fourth News</li>
</ul>

我该怎么办?有没有可以帮我做的软件?

注意:PHP 文件中没有动态内容。换句话说,在 PHP 文件中没有与任何外部数据库建立连接。实际上,这些 PHP 文件属于我从某个地方下载的模板,现在我想将它们的语言更改为其他语言(例如 ASP.NET)。

【问题讨论】:

    标签: php asp.net html


    【解决方案1】:

    在你的机器上安装一个本地 apache 是最简单的(比如 MAMPWAMP),然后构建一个 PHP 脚本,它将遍历文件夹结构并通过服务器读取带有 file_get_contents() 的每个文件.

    如果您尝试阅读 myFile.php ,您将获得源代码, 但是如果它首先通过服务器解析,意思是 - 读取 http://localhost/myFile.php ,将从 PHP 返回解析结果。

    夏。

    【讨论】:

    • ...或者,如果您安装了 PHP 但没有 Web 服务器,您可以 exec("php myFile.php",$result); $result = implode("\n",$result);... 和 +1。
    • 同意,这也是一个很好的解决方案,您实际上不需要安装 Apache 或任何其他网络服务器,只需独立安装 PHP 即可。尽管我确实认为使用网络服务器会更容易一些,但对于没有经验的人来说:)
    • 同意,安装 Web 服务器绝对是保证您获得合理 HTML 结果的最简单方法 - 通过 CLI 执行可能会导致 $_SERVER 中的值未正确定义(或在全部),以及其他潜在危险。
    【解决方案2】:

    在您的服务器上运行 php 文件以获得结果,然后在浏览器中查看源代码并复制并粘贴输出

    【讨论】:

      【解决方案3】:

      是的,您可以将它们回显到输出缓冲区(PHP 代码):

      ob_start();
      include('your_file.php');
      $contents = ob_get_clean();
      

      现在$contents 保存该文件的解析内容,您可以将其写入另一个文件:

      file_put_contents('filename.html', $contents);
      

      干杯!

      【讨论】:

      • 如果我们谈论许多文件,这将是一个非常糟糕的解决方案。如果这“一堆”文件是 200-300 个 PHP 文件,我认为将它们全部包含在一个 PHP 文件中并不是一个好的解决方案。
      • 我们没有将它们全部包含在内,此解决方案在解析文件时填充并清除缓冲区(又名内存 = 极快)。 200 - 300 个文件不会花费一分钟。
      • 收回我说的话:) 一点也不坏!我喜欢这种方法背后的想法,尽管我自己没有尝试过。
      • @ShaiMishali 我请求您删除引起对记忆的担忧的评论,因为由于您的后一条评论,它已成为绝对的。它增加了混乱。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 2013-10-28
      相关资源
      最近更新 更多