我知道这是非常小的性能调整,但我想简化一个内嵌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文档也需要缩小。如何才能做到这一点? (在更大的文档上下文中想象这个例子。)
答案 0 :(得分: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);
?>