HTML出力する際、極力改行やスペースを削除して1行にする方法(メモ)

公開日:2023(令和5)年6月14日/最終更新日:

WordPressのカスタマイズ方法についての画像

【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています



WordPressのカスタマイズでは、何かの文章やHTMLタグの集まりなどを、いろいろな場所へプログラムから出力する機会があると思います。

その際、以下のように記述してechoで出力すると、改行やタブ、空白がそのまま出力されるので、HTMLソース上がなんとなく乱雑な感じになります。

echo '
<div>
    <ul>
     <li></li>
    </ul>
</div>
';

上記のコードを以下のように変更することで、簡単に余分な空白や改行、タブを削除して1行で出力できるようになります。

//一旦出力データを変数として格納する
$string ='<div>
    <ul>
     <li></li>
    </ul>
</div>';

//正規表現で余分な文字を削除
$output_content = preg_replace("/\s+/", " ", $string);

//整形しなおしたものを出力
echo $output_content;

自身正規表現のことはあまり良く分かっていないのですが、このコードでうまくいきました。

あまりHTMLソースを見ることも少ないですが、多少は表示速度に好影響があるかも知れませんし、コード泥棒!?に遭うことも少なくなるかも知れません。

この方法を使って出力した場合には、うまく機能するかを必ず確認してください

参考:文章から余分なスペース、タブ、改行を削除し、スペース 1 つだけで置き換えるにはどうすればよいですか?

注意すべきこと

このコードを応用して、実際に1行でHTML出力する際に、1つだけ注意することがあります。

それは、JavaScriptではないものは、この方法で出力するとエラーになることが多いということです。

JSでないのにscriptタグで括る代表例は、構造化データやアクセス解析データなどです。見た目はスクリプトタグで囲まれていますが、実際にそれが何かの動作を司るものではないため、1行化するとエラーになることが多いです。



Lolipop ServerMoshimo Ad x-serverMoshimo Ad

WordPressブロックテーマのカスタマイズ方法画像
ブロックテーマでサイトの背景画像を設定する5つの方法