[1904] 「PHPとMySQLで掲示板を作る」拝見しました。
投稿者:html21315
2015/03/08 10:20:38
突然失礼します。
ホームページ拝見いたしました。phpで掲示板を作るという発想はありませんでした。
本題に入りますが、投稿内容を<PRE>タグで囲むということ(仕様を考えるのページ)ですが、それでは
<br />
タグが使用できず改行ができなくなる、ということになります。
そこで思ったのですが、そもそも<PRE>タグを使用せずに<や>の記号を無効にすればいいのでは、ということです。
そして思ったのが、phpのhtmlspecialchars()関数です。HTMLにとって特別な意味の<>をすべて単なる文字に変換してくれるという非常に便利な関数です。詳しいことは検索などお願いします。
要するに、
$test = $_GET["test"];
を、
$test = htmlspecialchars($_GET["test"]);
のようにしてしまおう、という考えです。こうすれば、<PRE>を使わずに済むため、改行が実現できると思います。
-追伸-
ほとんどのユーザーは、改行を投稿の中でしたいとき<BR>ではなく単にEnterキーを使って改行をします。これを掲示板上で再現するためには<BR>を使わなければいけないので、そこが私が掲示板作りをしたときの悩みどころでした。
そこで、便利なPHPの関数を見つけましたので紹介します。
nl2br()
改行記号の前に<br />を挿入してくれるというありがたいものです。
$test = nl2br( htmlspecialchars( $_GET["test"] ) );
一行にするとこうなりますが、わかりやすく書くと
$test = $_GET["test"]; //取得
$test = htmlspecialchars($test); //<>の無効化
$test = nl2br($test); //<br />挿入
長文失礼しました。
※先日誤ってメールで送信してしまいましたが、やはり掲示板に書き込むべきだと、掲示板の方に再投稿しました。