0

データベースのロングテキスト フィールドに入力された情報を、記述されたとおりに表示する方法を知る必要があります。

ユーザーがこれを以下に書いた場合のように:

My life is full of love I fly like
wedding doves I blow passed stop signs
That intersect with hate lines

-

I know what I am
I know who I be
If you can't accept me
Then don't friend me

次のように表示するのではなく、ユーザーがテキストエリアに書いたのと同じように、データベースからテキストを表示したい:

私の人生は愛に満ちている 私は結婚式の鳩のように飛んでいる 過ぎ去った一時停止の標識を吹き飛ばし、それは憎しみの線と交差する 私は私が何であるかを知っている 私が誰であるかを知っている もしあなたが私を受け入れられないなら、私と友達にならないでください

PHPを使用して情報を適切に表示するにはどうすればよいですか?

4

4 に答える 4

4

を使用しnl2br()ます。改行 (テキストエリアなどから) を HTML<br />タグに変換します。

于 2010-12-30T11:52:07.473 に答える
1

データにnl2brを使用すると、元のテキストエリアとほぼ同じフォーマットで表示されます。

ただし、注意しないと、クロスサイトスクリプティング (XSS) の問題に備えている可能性が非常に高いため、最初にSQL インジェクションの処理や出力のエスケープなどについて読むことを強くお勧めします。

于 2010-12-30T11:52:27.197 に答える
0

十分に強調することはできません。ユーザー生成コンテンツをそのまま出力することは絶対にしないでください。ただし、出力するすべてのテキストをエスケープするように注意してください(http://php.net/manual/en/function.htmlspecialchars.phpを参照) 。 。

于 2010-12-30T12:42:42.273 に答える
0

整形済みのテキストを表示したい場合は、<pre></pre>タグで囲みます

  <pre>...your text here...</pre>

悪い開発者やデザイナーによって悪用されることが多いため、多くの人がこの要素を嫌ってい<pre>ますが、これはまさにこの要素が使用されるケースです。

ほとんどのブラウザは、整形済みのテキストを通常のテキストとは異なる形式でレンダリングするため、スタイルシートを調整する必要がある場合があります

body, pre {font-family: ...;font-size:....}
于 2010-12-30T12:17:15.690 に答える