PHPで改行する方法!改行コードとnl2br

PHP

今回はPHPで改行する方法について書いています。

PHPでテキストとして、改行するには改行コードを入れてあげると良いです。
またnl2br関数を使うと、改行コードの前にbrタグを入れてくれます。

PHPで改行する(テキスト・メール)

テキストやメールなどで、改行を入れたい場合には、改行コードを入れてあげると改行できます。
シングルクォート「'」で改行コードを入れると、改行されません。

例えば、下記のようにテキスト出力した場合です。

$text = 'hello\nworld!!';
file_put_contents('new_line_text.txt', $text);

file_put_contentsで「new_line_text.txt」ファイルに改行コードを入れた文字列を出力しています。
ただシングルクォートで囲んでいるので、出力結果は、このように改行コードの「\n」が文字列としてあつかわれます。

hello\nworld!!

改行コード入れる場合にはダブルクォート「"」で文字列を囲む必要があります。
先ほどのコードの出力テキストを囲んでいるシングルクォートをダブルクォートに変えます。

$text = "hello\nworld!!";
file_put_contents('new_line_text.txt', $text);

そうすると、このように出力結果は改行されます。

hello
world!!

テキストやメール文などで、改行したい場合には改行コードが効くようにダブルクォートを使いましょう。

ヒアドキュメントを使うと?

ヒアドキュメントを使うと、入れた改行がそのまま出力されます。
例えば、下記のようなコードを書いたときです。

$text = <<<END
hello
world!!
hogehoge
test
END;

file_put_contents('new_line_text.txt', $text);

$text変数にヒアドキュメントで、改行コードを含む文字列を入れて、出力しています。
出力したテキストを確認すると、下記のように改行されます。

hello
world!!
hogehoge
test

nl2br関数で改行する

nl2br関数を使うと、改行コードの前にWebページで改行を行うbrタグを入れてくれます。
改行コードを含んだ文字列で、ブラウザ表示で改行したい時には使うと良いです。

例えば、下記のように使うことができます。

<html lang="ja">
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
    ここから改行文字列!<br />
    <?php
      $text = "hello!\nworld!\nworld!";
      echo nl2br($text);
    ?>
  </body>
</html>

こうすると、$text変数に入っている改行コード「\n」の前にbrタグを入れてくれます。
そのためブラウザで確認すると、下記のように改行されていることが確認できます。

PHPでnl2brテスト

改行コードを含んだテキストを使用して、Webページで改行表示させたい時には良いかと思います。
PHP公式のドキュメントはこちらです。

単純にbrタグを連結する方法も

単純にbrタグを文字列連結しても、タグとして機能するのでブラウザでは改行表示されます。

下記のようにbrタグを書いて、文字列連結しても先ほどと同じ結果です。

<html lang="ja">
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
    ここから改行文字列!<br />
    <?php
      // brタグを文字列連結しても同じ結果
      $text = 'hello!' . '<br>' . 'world!' . '<br>' . 'world!';
      echo $text;
    ?>
  </body>
</html>

PHPで改行する方法まとめ

今回はPHPで文字列を改行する方法について書きました。

テキスト出力やメール文などで、改行を入れたい場合にはダブルクォートで囲った文字に改行コードを入れるとよかったです。
またヒアドキュメントを使うと、そのまま改行を出力してくれました。

nl2br関数を使うと、改行コードの前に改行タグ(br)を入れてくれました。
改行コードを含んだ文字をWebブラウザで表示する場合に使うと良いかと思います。用途に合わせてそれぞれ使っていきましょう。

コメント

タイトルとURLをコピーしました