テキストボックスや複数行のテキスト領域に、改行を含むデータが入力される場合があります。それをそのまま出力してもHTMLソースで改行されるだけで、Webブラウザ上は改行表示されません。nl2br()関数を使うと、文字列上の改行コードの前に<br>タグを追加できます。これによって、Webブラウザ上でも改行されて複数行が表示されます。
複数行のテキストを入力して、「送信」ボタンをクリックします。改行のある/なし、それぞれの結果を表示します。
<?php header("Content-type: text/html; charset=utf-8"); if(isset($_POST["btnExec"])){ //受け取ったデータをそのまま表示 echo "【そのまま表示】<br>"; echo $_POST["inputdata"] . "<br><br>"; //改行タグに置換して表示 echo "【改行して表示】<br>"; echo nl2br($_POST["inputdata"]) . "<br><br>"; } ?> <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> テキストボックスに値を入力して「送信」ボタンをクリックしてください。 <form action="<?=$_SERVER["PHP_SELF"]?>" method="POST"> <textarea rows="6" cols="40" name="inputdata"></textarea> <input type="submit" name="btnExec" value="送信"> </form> </body> </html>