如何在textarea中替换\ r \ n

时间:2011-05-30 09:15:43

标签: php html textarea smarty

PHP代码

<?php
$content = "check1\r\ncheck2\r\ncheck3\r\nend..."   
$order   = array("\r\n");
$replace = "\n";
$content= str_replace( $order, $replace, $content);
$smarty->assign('content', $content);
?>

查看页面(智能模板)

<textarea>{$content}<textarea>

输出:

check1\r\ncheck2\r\ncheck3\r\nend...

我希望输出如下

check1
check2
check3
end...

在textarea里面。我已将\r\n替换为\n,但即便如此,我也无法获得所需的输出。我的代码有什么问题?提前谢谢。

4 个答案:

答案 0 :(得分:6)

看起来你遇到了与this类似的问题。

如果我正确阅读,请尝试:

<textarea>{$content|stripcslashes}<textarea>

答案 1 :(得分:3)

我不是 Smarty 大师,但您可能希望在模板中使用此功能:

<textarea>{$content|stripslashes}<textarea>

答案 2 :(得分:1)

这会将所有\r\n替换为\n

$content = str_replace("\r\n", "\n", $content);

我几天前成功使用它,它们在文本字段中正确显示。

答案 3 :(得分:0)

我在\r\n遇到了同样的问题,但我不得不在搜索参数中添加额外的反斜杠(即\r\n变为\\r\\n)以使其正常工作:

$content = str_replace("\\r\\n","\r\n",$content);