はじめに
WordpressプラグインでHTML圧縮ができるかもしれませんが、
過剰に圧縮するためにうまく動かない場合が存在します。
簡単なコードで HTML圧縮をしてみるのも良いでしょうか
先に参考サイトの記載
試しに組み込んでみたもの
functions.php
function sanitize_output($buffer) {
$search = array(
'/\s\/\>/s', // XMLの /> を圧縮
'/\>[^\S ]+/s', // タグの後の空白を削除
'/[^\S ]+\</s', // タグの前の空白を削除
'/(\s)+/s', // 連続した空白を削除
'/(\t)+/s', // 連続したタブを削除
'/<!--[\s\S]*?-->/s' // コメントを削除
'/type=\"text\/javascript\"/s' // 今は不要なものを削除
);
$replace = array(
'>',
'>',
'<',
'\\1'
);
$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}
ob_start("sanitize_output");
- functions.php のどこに設置しても動作します。
- Wordpressでなくても、phpなら動作します。
追加されたものの説明
- 今は /> 等XMLで閉じる必要がありませんので、削減します。
- タブも削除します。
- 今は <script type="text/javascript"> と記述する必要のないものを最適化
- 上記はWordpressプラグインで使われていることがあるので、一括して削除するとよさそうです。