doucai4274 2012-12-05 14:14
浏览 69
已采纳

为什么从表单发送的存储textarea数据中添加了额外的换行符

I have a Textarea with this in it:

Test can't talk<br />
Test

When I send it to my preview page I use this:

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

It then shows this on the preview page:

Test can't talk<br />
Test

When I go back to edit it, in the edit page code I have this.

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

But it shows this:

Test can't talk

Test

Where is this extra break coming from and how do I get rid of it?


UPDATE: Per a suggestion on the edit page I have this.

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

And that shows this:

Test can't talk
<br />Test

Again where is this extra <br /> coming from? If I use strreplace it will show like this

Test can't talk

Test

Using just this:

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

It shows this:

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

Again a random <br /> is added.

  • 写回答

2条回答 默认 最新

  • duanhan5388 2012-12-05 15:46
    关注

    On the view page need to use this:

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

    On the edit page use this:

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

    On the submission page:

    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']);
    

    Works like a charm.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!