Googleページの速度のようにphpページのhtml出力を縮小するにはどうすればよいですか?
例:
<!DOCTYPE html>
<html>
<head>
<title>Untitled Document</title>
<meta name="description" content="Phasellus rhoncus euismod libero a lacinia. Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
</head>
<body>
<div id="content">
<div id="post-1">
<h1>Phasellus rhoncus euismod libero a lacinia.</h1>
<p>...</p>
</div>
<div id="post-2">
<h1>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</h1>
<p>...</p>
</div>
</div>
</body>
</html>
php ob_startを使用して、このhtml出力をこのようにするにはどうすればよいですか?
<!DOCTYPE html>
<html>
<head>
<title>Untitled Document</title>
<meta name="description" content="Phasellus rhoncus euismod libero a lacinia. Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
</head>
<body>
<div id="content">
<div id="post-1">
<h1>Phasellus rhoncus euismod libero a lacinia.</h1>
<p>...</p>
</div>
<div id="post-2">
<h1>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</h1>
<p>...</p>
</div>
</div>
</body>
</html>
編集:
このコードを試しました(James Peggの回答に基づく)
function sanitize_output($buffer){
$search = array("\n", "\t");
return preg_replace($search, '', $buffer);}
ob_start("sanitize_output");
しかし、うまくいきません。ページは空になりました。
最終的な作業コード (W. Kristianto の回答に基づく):
function sanitize_output($buffer){
$buffer = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $buffer);
return $buffer;}