0

コメントを送信するためにコメント ボックスを使用しています。ユーザーがコメントを入力してEnterキーを押して新しい行を入力し、送信後$update=mysql_real_escape_string($update);にセキュリティ目的でデータベースに更新していました。

しかし、そのコメントが表示されると、新しい行がアルファベットの「n」に置き換えられ、文全体が次のようになります

John is awesome
He loves food 

次のようになります:

John is awesome nHe loves food

スタックでエラーを検索し、解決策を見つけました。

私は仕事をしたもの<?php echo $message; ?>に置き換えました。<?php echo str_replace('\n',"<br/>", $message); ?>しかし、私がコメントしようとしたとき、'n'それはそれ\'n\'に対する解決策であることがわかりましたか?

4

4 に答える 4

4

nl2brトリックを行います。<br>タグを使用して改行を追加する組み込み関数です。

echo nl2br($message);
于 2012-09-09T11:15:25.190 に答える
1

更新しました:

$output = htmlspecialchars($message);
$output = str_replace('\\n','<br/>', $output);
$output = stripslashes($output);
echo $output;

ストリップスラッシュ\'n\'は、他の多くの問題と同様に問題を処理する必要があります。

これらのコマンドの順序が重要であることに注意してください。最初にスラッシュを削除すると、 str_replaceが台無しになります。str_replaceの後にhtmlspecialcharsを使用すると、が台無しになります。<br/>

于 2012-09-09T11:57:25.343 に答える
0

nl2br()ネイティブ機能を使ってみませんか?

$foo = nl2br("I love\n yo");

利回りI love<br /> you

于 2012-09-09T11:16:30.617 に答える
0

使ってみてください <?php $var = preg_replace("[\n]","<br/>",$comment); ?>

例 :

<?php
$text = "John is awesome
He loves food";
$echo = preg_replace("[\n]","<br/>",$text);
echo $echo;

?>
于 2012-09-09T11:21:38.863 に答える