【发布时间】:2009-07-07 01:23:25
【问题描述】:
我已经解决这个问题几个小时了,而且运气为零。不知道这怎么可能;我会试着总结一下。
我正在使用 TinyMCE 将新内容插入数据库,该内容在插入数据库后作为 AJAX 响应发送回来,然后显示在页面上,替换一些旧内容。所有这些都与问题无关(据我所知),但它可以作为问题的背景。
无论如何,只要内容有换行符,响应文本就有适当的“\n”。我似乎一辈子都无法删除那些该死的'\n'。我已经尝试了十几个零运气的正则表达式/替换组合。我已经验证我并没有失去理智,并且代码通常通过尝试替换该字符串中的其他单词来工作,并且效果很好 - 它只是不会替换'\ n'。这是我用来尝试替换 '\n's 的一些代码:
responseText = responseText.replace(/\r|\n|\r\n/g, "");
responseText = responseText.replace(Array("\r", "\n", "\f", "\r\n", "\n"), "");
它们都不会对变量做任何事情。我在检查更改后立即提醒它,nada。我不知道它是否会有所帮助,但这里有一个示例 '\n' 复制粘贴的 sn-p,它不会消失或更改。
High School transcript</li>\n<li>SAT/ACT
作为旁注,我已经尝试通过 PHP 执行此操作,然后将 responseText 发送回 javascript,并使用类似的替换和正则表达式,但它也不起作用。
【问题讨论】:
-
附加说明:在处理特殊字符(即
\n、\r等)时,您通常希望使用单引号'\n'、'\r',因为在大多数情况下,您正在寻找单个字符而不是字符串。 -
@DavidStarkey - Javascript 中的单引号和双引号没有区别。团队的风格指南或个人约定应该是指导原则stackoverflow.com/questions/3149192/…
标签: javascript jquery regex string escaping