如何从 PHP 文件中提取 HTML?

Posted

技术标签:

【中文标题】如何从 PHP 文件中提取 HTML?【英文标题】:How to extract HTML from PHP files? 【发布时间】: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)。

【问题讨论】:

【参考方案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 我请求您删除引起对记忆的担忧的评论,因为由于您的后一条评论,它已成为绝对的。它增加了混乱。

以上是关于如何从 PHP 文件中提取 HTML?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 php 从 HTML 表中提取数据

如何从 ASP.net C# 中的字符串中提取 C#/PHP/Code/SQL

如何从 HTML 页面中提取链接?

从数据库中提取id后包含PHP文件名

如何使用熊猫从文件中提取 html 表?

如何使用 PHP 从图像中提取文本