Linebreak导致代码中断

时间:2011-11-22 16:00:59

标签: php javascript line break

我有一个存储在数据库中的文本(用户在textarea中输入后)。

该文字包含断行标记。

现在我将它导入我的php页面并执行以下操作:

$str += "onclick='openXXX(\"" . nl2br($row->data)  .  "\");'>"

现在在视图中它会破坏我的代码,因为有<BR>\r\n个字符(我认为), 它看起来像:

onclick='openXXX("dsadas<br />
dsada");'

它导致我的代码出现问题,因为有两行而不是一行。我该如何解决?

4 个答案:

答案 0 :(得分:3)

使用

str_replace('\r\n', '', nl2br($row->data))

答案 1 :(得分:2)

Javascript不接受换行,你可以考虑这个: -

str_replace(PHP_EOL, '', nl2br($row->data));
PHP_EOL旁边

,您可以将其替换为\r\n, \n\r, \n and \r

数组

答案 2 :(得分:2)

尝试str_replace('\n', '', nl2br($row->data))而非nl2br($row->data)

答案 3 :(得分:2)

nl2br正在添加<br/>,但不会删除\ r或\ n。

尝试:

$str += "onclick='openXXX(\"" . str_replace(array("\r","\n"),'',nl2br($row->data))  .  "\");'>"