PHP:输出一行不带preg_replace的HTML文档

Posted

技术标签:

【中文标题】PHP:输出一行不带preg_replace的HTML文档【英文标题】:PHP: output one line HTML-document without preg_replace 【发布时间】:2013-08-21 12:16:48 【问题描述】:

我需要将 html 文档输出为单行字符串,以节省服务器和客户端之间的网络流量。 一种流行的方法是使用preg_replace,它的缺点是速度慢:

$html = preg_replace('~>\s+<~', '><', $html);

另一种方法是在前端打开 GZip,这是更好的解决方案。但是,如果我将使用以下方法:

<!DOCTYPE html><?php
?><html><?php
?><head><?php
  ?><title><?php echo $page_title; ?></title><?php
?></head><?php
?><body><?php
  ?><div><?php
    ?><h1><?php echo $page_title; ?></h1><?php
  ?></div><?php
?></body><?php
?></html>

已编译脚本的字节码存储在 APC 中。除了可读性较差之外,这种方法还有哪些缺点?

【问题讨论】:

【参考方案1】:

Gzip 很简单,没有理由不使用它。

您可以查看通过修剪 HTML 中的空白可以获得多少收益,总的来说,我认为这不值得,因为您处于 Google、Twitter 或 Facebook 的规模。可读性成本和/或 CPU 开销不值得。

我不会担心编译后的脚本大小,如果您真的遇到问题,只需为其提供更多 RAM。

【讨论】:

以上是关于PHP:输出一行不带preg_replace的HTML文档的主要内容,如果未能解决你的问题,请参考以下文章

代码规范

在 PHP 中将 CSV 写入不带附件的文件

CTE 递归语句,带自连接,不带 id

折半搜索

嵌套的while循环只输出一行来选择php中的标签

php7格式化输出和普通输出区别