noshi’s diary

ゲームの事、映画やドラマ、思いついた事、プログラミングの事、雑記的なことを書いています

php改行メモ

「改行なんて、\nでできるしょ」なんて思っていたのに、stupidなことで一瞬戸惑った。 phpで改行したい文字列をechoするなら、 echo('1行目の文章'); echo("<br>\n"); echo('2行目の文章'); という改行コード+エスケープしますが、配列データを改行で表示しようとして次のようなフォームをつくってみたところ、 <?php if($POST != null){ $arr = $POST['list1']; $result2 = ""; foreach($arr as $item){ $result2 .= $item ."\n"; } } else { $result2 = "選択してください"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="">http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <h1>hellow!php</h1> <?php echo htmlspecialchars($result2);?> <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <select name="list1[]" size="5" multiple> <option value="windows">windows</option> <option value="mac">mac</option> <option value="Linux">Linux</option> <option value="iphone">iphone</option> <option value="Android">Android</option> </select> <input type="submit" /> </form> </body> </html> 結果、windows Linux とスペースを開けて横並びに表示されました。 縦に列挙したいのよー。 こうしたらあっさりと改行されました。 <?php echo nl2br(htmlspecialchars($result2));?>