
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>などの手法がよく見られますが、これは別な手法なのでしょうか?
<BR>さえ入っていなければ普通に行頭に>を追加、それをhtmlspecialcharsして表示すればこのようになりますよ。DBに<BR>をつけた状態で保存しているのがそもそもの問題だと思います。
No.2
- 回答日時:
DBに<BR>が格納されているのだとしたら、htmlspecialcharsをしようと<BR>は表示されてしまいますよ。
str_replace関数等で<BR>を"\n"に変換する必要があります。面倒でしょ?先の回答で「DBには素の状態で保存して、表示携帯に応じて変換する」と書いたのは、こういうケースを想定しての事です。strip_tagsというタグを取り去る関数もありますが、元々書き込みに<BR>が入ってる事自体がまずいと思うので本末転倒のような気がします。
まだ開発中であれば、書き込み時の処理自体を見直した方が良いかと思います。<BR>が入ったままですとhtmlspecialcharsを使って表示した時にも改行されず<BR>と画面に表示されるだけです。かといってhtmlspecialcharsを使わずに画面表示をすると、もし書き込み時にタグやスクリプトが混入した場合、そのまま画面に表示されてセキュリティホールになる場合があります。
しかしよく掲示板の返信などで返信用の入力ボックスの内で
>掲示板です
>テスト
<返信内容>
などの手法がよく見られますが、これは別な手法なのでしょうか?
No.1
- 回答日時:
<textarea>タグ内では<br>タグは効きません。
<br>を改行(\n)に変換すれば期待通りの表示ができるはずです。まず問題点ですが、DB内のテキストデータの改行が既に<br>になってるんですよね?これはユーザーが入力した訳じゃないのでは?恐らく書き込みの確認画面などにnl2br関数で改行をBRに変換して、そのままDBに書き込んでいるのでは?基本的にDB内には素の状態で保存して、表示時に表示方法に合わせて変換をする考え方の方がスマートです。
次に<br>が本文中に出てくるのは許すとしますが、<textarea>掲示板です<br>テスト</textarea>というのはHTML的に正しくありません。ブラウザや文字列によってはブラウザで正常に表示できない場合があります。文字列をブラウザに出力する際にはhtmlspecialcharsを通して出力するようにしましょう。
確かにDBに保存するときに<BR>で保存しています。
また
<TEXTAREA NAME=body COLS=50 ROWS=8 wrap="soft"><? print htmlspecialchars($body) ?></TEXTAREA>
という風にしたのですが相変わらず<BR>が表示されてしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
フォームで戻った際に入力済み...
-
SplFileObject を利用したとき...
-
PHP8を使うと、大量のWarningが...
-
セッション関数を使わずにファ...
-
composerをインストールしたい...
-
php 完了画面の送信メールのコ...
-
csvファイルについて教えて下さ...
-
PHPの変わった閉じタグの必要性...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのレポートの表示...
-
フォームのtextareaにnl2brを使...
-
改行したいのですが
-
C#のRichTextBoxで表示行数を取...
-
PHP 改行を含めた文字列をテキ...
-
NotifyIconで二列の文字列を表...
-
改行コード入り文字列を含むXML...
-
PHPでテキストファイルに保存し...
-
.netのaspxでDataGridを1行2...
-
phpテンプレートsmartyの所定文...
-
VisualBasicいついて
-
PHP+DBで日記を作っています
-
phpの<br>\\nと\\nとエスケープ...
-
<br>が文字列で出力されてしま...
-
HTMLの値の渡し方について質問...
-
aspxでIFみたいなことがしたい
-
ASP.netで、CheckBoxListのSele...
-
遷移先のURLにパラメータを表示...
-
【Python初学者】以下コードに...
-
クリックしたボタンのIDの取得
おすすめ情報