PHPで取得したテキストエリアやカスタムフィールドなんかの改行を、そのまま表示する方法

Image by Jan Alexander from Pixabay
当サイトはアフィリエイト広告を利用しています以下に、Geminiの解説もつけときます↓↓
PHPのコード <?php echo nl2br(get_field('overview')); ?>
について解説します。
このコードは、WordPressのカスタムフィールドプラグインである Advanced Custom Fields (ACF) で設定された「overview」という名前のフィールドの値を取得し、それを改行コードを <br>
タグに変換して出力するものです。
以下に各部分を分解して説明します。
1. <?php ... ?>
- これはPHPのコードブロックを示す開始タグと終了タグです。この間に書かれた内容はPHPのコードとして解釈・実行されます。
2. echo
- PHPの言語構造の一つで、後に続く文字列や変数の内容などを出力(通常はWebブラウザに表示)するために使用されます。
3. nl2br()
- これはPHPの組み込み関数の一つです。
- nl は “newline”(改行)の略、br は HTML の
<br>
タグを意味します。 - この関数は、文字列の中にある以下の改行コードを HTML の
<br>
タグに置換します。\n
(UNIX系の改行コード)\r
(古いMacintoshの改行コード)\r\n
(Windows系の改行コード)
- これにより、テキストエリアなどで入力された改行が、HTML上でも正しく改行として表示されるようになります。
4. get_field('overview')
- これは Advanced Custom Fields (ACF) プラグインが提供する関数です。
get_field()
関数は、指定された名前のカスタムフィールドの値を取得します。- この例では、
'overview'
という文字列が引数として渡されているため、「overview」という名前で定義されたカスタムフィールドの値を取得します。 - 取得される値は、そのカスタムフィールドの設定(テキスト、テキストエリア、リッチテキストエディタなど)によって異なります。例えば、テキストエリアで複数行のテキストが入力されていれば、改行コード (
\n
など) を含む文字列が返されます。
まとめると、このコードは以下の処理を行っています。
- ACFの
get_field('overview')
関数を使って、「overview」という名前のカスタムフィールドから値を取得します。 - 取得した値(文字列)の中に含まれる改行コード (
\n
,\r
,\r\n
) を、HTMLの改行タグ<br>
に変換します。 - 変換された文字列を
echo
によってWebブラウザに出力します。
このコードがよく使われるケース:
- WordPressの投稿やカスタム投稿タイプにおいて、概要説明や詳細情報などの複数行にわたるテキストを入力できるカスタムフィールド(特にテキストエリアやリッチテキストエディタ)の内容を、Webページ上で改行を維持したまま表示したい場合。
例:
もし ACF の「overview」フィールドに以下のようなテキストが入力されていたとします。
これは1行目のテキストです。
そして、これは2行目のテキストです。
さらに、これは3行目です。
このコードを実行すると、Webページには以下のようなHTMLが出力されます。
HTML
これは1行目のテキストです。<br />そして、これは2行目のテキストです。<br />さらに、これは3行目です。<br />
そして、ブラウザ上では以下のように表示されます。
これは1行目のテキストです。
そして、これは2行目のテキストです。
さらに、これは3行目です。
このように、nl2br()
関数によって、入力された改行が HTML の <br>
タグに変換され、Webページ上で意図した通りの改行表示が実現されます。
サイバーエージェントが運営する小学生向けプログラミングスクール
Tech Kids School【テックキッズスクール】
けっこうガチ目っぽいです↓↓
僕がWeb制作を学んだデイトラ↓↓
継続的に学習する意思があって、何でも他人任せにするようなひとでなければ、圧倒的低価格で、圧倒的実力が身に付きます