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 に答える