K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]


新規投稿 | 開設者ホームページへ戻る | ヘルプ


[1904] 「PHPとMySQLで掲示板を作る」拝見しました。
返信


投稿者:html21315
2015/03/08 10:20:38

Link:
突然失礼します。
ホームページ拝見いたしました。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 />挿入

長文失礼しました。 
※先日誤ってメールで送信してしまいましたが、やはり掲示板に書き込むべきだと、掲示板の方に再投稿しました。
[ この投稿を含むスレッドを表示] [ この投稿を削除]



[ より新しい投稿] [ より古い投稿]