我需要一些帮助。我正在使用javascript将br标签转换为'\ n'。但它正在放置额外的'\ n'字符代替当前的br标签数量......
以下文字
dummy text dummy text dummy text dummy text dummy text dummy text <br><br>dummy text dummy text dummy text dummy text dummy text dummy text
正在被
取代dummy text dummy text dummy text dummy text dummy text dummy text
dummy text dummy text dummy text dummy text dummy text dummy text
我在stackoverflow上尝试了很多正则表达式和东西,但所有这些都打印了额外的换行符。
这是我目前正在使用的表达方式。
str.replace(/<br>/g,'\n')
它发生特别是文本框的内容是通过php中的nl2br加载的。
请参阅以下图片。
这是加载页面的时间
这是按下编辑并调用str.replace事件的时候。
谁能告诉我哪里犯了错误?
由于
答案 0 :(得分:2)
PHP nl2br
没有替换换行符,它只是将<br />
标记添加到现有换行符中。
当你的JS试图&#34;反向&#34;该操作导致原始换行重复。
您的替换应替换为空字符串以删除<br />
标记。
还要考虑使用CSS white-space: pre-wrap
而不是 nl2br
,因为这会保留所有空格,包括换行符和多个空格!
答案 1 :(得分:1)
只需使用
replace(/<br\s*\/?>\n/mg,"\n")