WordPress nl2brで大量の改行が出力
2016年01月02日 · PHP
WordPressでブラウザ状に表示をするためにecho文などで表示をさせたりするのですが、
echoだと改行など指定した形とちょっと違った形ででてきてしまい「なぜ?」と思い色々と検索した結果「nl2br」を使用すると改行も表示されることがわかった。
しかし、これを使ったタイミングに謎の改行が出力される問題がでてきたのです。
今回のこれを解消する方法について説明していきます。
nl2brで大量の改行症状は?
カスタム投稿でプラグインでカスタムフィールドを利用したページにテーブルタグで記入した内容をechoではなくnl2brで表示させました。以下のような結果が出力されました
そうです、大量の改行コードが出力されました。
大量の改行回避
どうやっても回避できる方法がなかったの仕方なくcssでbrを無効にするような形で逃げの処理をおこなっておりました。
他の箇所で改行させたくてもcssの場合ですと指定が難しい状態でした。
色々と調査した結果以下のコードを書くと大量のbrがなくなり、必要な箇所のbrが残る状態で表示されるようになりました。
echo preg_replace("/(<[a-zA-Z0-9=\"\/\ ]+>)<br\ \/>/", "$1", nl2br(表示させる文言));
もしWordPressで大量改行が出力された場合は是非1度試してほしい内容です。