0

我知道这是一个非常小的性能调整,但我想缩小一个嵌入了 PHP 的 HTML 文档。

例如:

<div id="header">
  <?php
    echo "<ul>\n<li>";
    echo $somevar;
    echo "</li>\n<ul>\n";
  ?>
</div>

将产生以下输出:

<div id="header">
  <ul>
    <li>Foobar</li>
  <ul>
</div>

但我希望缩小输出。我可以从 PHP 输出中手动删除空格和行尾,所以它看起来像这样:

<div id="header">
  <ul><li>Foobar</li><ul></div>    

但是周围的 HTML 文档也需要缩小。如何才能做到这一点?(在更大的文档上下文中想象这个示例。)

4

1 回答 1

2

您可以使用简单的正则表达式删除所有不必要的空格:

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

>(这将删除和字符之间的所有空格<。)

现在要对生成的 html 代码执行此操作,可以使用输出缓冲:

<?php
ob_start();
// everything bellow is captured and not echoed
?>
<div id="header">
    ...
</div>
<?php
// get generated html and stop buffering
$html = ob_get_clean();
echo preg_replace('#>\s+<#s', '><', $html);
?>
于 2012-09-16T19:12:40.513 回答