1

という名前のフィールドにデータを保存していますmessage。このフィールドの例は次のとおりです。

<br /><br />

shane!

<br /><br />

****** Original Message ******

Test Back


<br /><br />


****** Original Message ******

test

これをフィールドに入れると、次のように表示されますecho<textarea>

shane! ****** Original Message ****** Test Back ****** 
Original Message ****** test

echo改行を含めるにはどうすればよいですか?

4

3 に答える 3

3

テキストエリアに出力するときは、呼び出す必要がありますhtmlentities htmlspecialcharsテキストに HTML が含まれている場合。

<textarea><?php echo htmlspecialchars($text); ?></textarea>

<br />それはあなたをに変換します&lt;br /&gt;。エンコードしないままにしておく<br />と、単に HTML として解釈されます。

データベースに書かれているとおりにテキストエリアに HTMLを表示<br />したい場合は、HTML として解釈されるすべてのコードをエスケープする必要があります。

編集

代わりに改行を出力したい場合は、<br />次を使用できますstr_replace

<textarea><?php echo str_replace('<br />', "\r\n", $textarea); ?></textarea>

ただし、他のすべての HTML は解釈され、表示されないことに注意してください。HTMLが必要ない場合は、ソースで問題を解決し、CRLFをデータベースに保存する必要があると思います。

于 2013-11-11T23:52:32.703 に答える
2

タグを行末文字str_replaceに置き換えることができます。<br />

 str_replace('<br />', PHP_EOL, $textarea);
于 2013-11-11T23:51:43.200 に答える
0

タグは、その中に HTML コードを受け入れません。代わりに、プレーン テキスト ファイルのようにコードをフォーマットする必要があります。この例を確認してください:

http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_textarea

ソースコードを次のように置き換えます。

<!DOCTYPE html>
<html>
<body>

<textarea rows="4" cols="50">
At w3schools.com you will learn how to make a website.



We offer free tutorials in all web development technologies.
</textarea>

</body>
</html>

テキストエリア内の書式設定は、タグとほとんど同じように機能することがわかります。したがって、あなたの質問に対する答えは、それぞれ
を改行文字に置き換える必要があるということです。

于 2013-11-11T23:56:04.497 に答える