JavaScript和包含\ r和/或\n字符的字符串数组

Fra*_*isc 2 javascript php arrays newline carriage-return

我有一个动态生成的数组来自数据库.基本上它是PHP打印到该部分页面的对象数组.

最终输出如下: var arPersons=[{'name':'aaa',description:'2-3 lines text in 300px wide div'},{etc}];

现在,当新行caracters(\n)或回车字符(\r)出现在描述文本中时,这个数组似乎存在问题,因为它是从CMS写入的.

我怎么解决这个问题?我目前所做的是str_replace(array("\r\n","\r","\n"),"",$description);,在循环中为每个元素更改$ description.

我不确定这是最好的方法.有什么方法可以告诉JS代码在某些情况下有\n和\ r \n字符时不要搞砸了吗?它应该仍然用PHP而不是JS来完成吗?

编辑: 通过mess up我的意思是任何代码,阵列停止执行后.如果我完全删除描述或只删除\n和\ r \n字符,它将起作用(在两种情况下).

谢谢.

Jon*_*nah 6

最好的方法是json_encode()从一开始就使用.它完全逃脱了输出到Javascript的一切.

http://php.net/json-encode