如何从 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 是最简单的(比如 MAMP
或 WAMP
),然后构建一个 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?的主要内容,如果未能解决你的问题,请参考以下文章