1

これを含むTextareaがあります:

Test can't talk<br />
Test

プレビュー ページに送信するときは、これを使用します。

$Comments = htmlspecialchars("$_POST[CustComments]", ENT_QUOTES);
$Comments = str_replace("\n","<br />", $Comments);

次に、これをプレビュー ページに表示します。

Test can't talk<br />
Test

編集に戻ると、編集ページのコードにこれがあります。

$Comments = str_replace("<br />","\n", $_POST['CustComments']);
$Comments = htmlspecialchars($Comments, ENT_QUOTES);

しかし、それはこれを示しています:

Test can't talk

Test

この余分な休憩はどこから来て、どうすればそれを取り除くことができますか?


更新: 編集ページの提案に従って、私はこれを持っています。

$Comments = htmlspecialchars($_POST['CustComments'], ENT_QUOTES);

そして、それはこれを示しています:

Test can't talk
<br />Test

繰り返しますが、この余分なものは<br />どこから来ているのですか? 私がstrreplaceそれを使用すると、このように表示されます

Test can't talk

Test

これだけを使用して:

$Comments = nl2br($_POST['CustComments']);

これは次のことを示しています。

Test can't talk<br />
<br />Test

再びランダム<br />が追加されます。

4

2 に答える 2

1

ビューページでこれを使用する必要があります:

$Comments = htmlspecialchars("$_POST[CustComments]", ENT_QUOTES);
$Comments = str_replace("\r\n","<br />",$Comments);

編集ページでこれを使用します:

$Comments = str_replace("<br />","\n",$_POST['CustComments'])

提出ページ:

function keepSafe($value) {
    if (get_magic_quotes_gpc()) {
        $value = stripslashes($value);
    }
    if (!is_numeric($value)) {
        $value = "'" . mysql_real_escape_string($value) . "'";
    }
    return $value;
}
$Comments = keepSafe($_POST['CustComments']);

チャームのように機能します。

于 2012-12-05T15:46:25.357 に答える
0

なぜ str_replace() を使用しているのですか? 代わりにこれを試してください:

$Comments = nl2br($Comments);
于 2012-12-05T14:16:26.190 に答える