我有以下用户发送的带有分隔线的文本
Text of example in line 1.
(break line)
(break line)
(break line)
The text is very nice...
(break line)
(break line)
The end.
预期结果:
Text of example in line 1.
The text is very nice...
The end.
不:Text of example in line 1. The text is very nice... The end.
我如何在JavaScript(str.replace
)中通过PHP中的AJAX接收
$text = strip_tags($text, '<br>');
谢谢你的回答!但我测试了所有..然后我去看看我的DIV正在生成HTML代码,我相信这就是为什么它不起作用(RegEx)。如何忽略HTML元素以使用换行符进行发送文字?
答案 0 :(得分:4)
您可以使用正则表达式替换。
str = str.replace(/\n{2,}/g, "\n");
{2,}
表示匹配前一个表达式中的两个或更多个。因此,任何2个或更多新行的序列都将被替换为单个换行符。
答案 1 :(得分:2)
虽然answer by @Barmar是正确的,但它不适用于不同的操作系统/平台。
不同的操作系统使用不同的字符组合作为换行符。
\r\n
= CR LF \n
= LF \r
= CR 请参阅\r\n , \r , \n what is the difference between them?
我建议以下RegEx可以跨平台工作。
str = str.replace(/(\r\n?|\n){2,}/g, '$1');
<强>解释强>
()
:捕获小组\r\n?
:可选地匹配\r
后跟\n
。因此匹配
\r\n
或\r
|
:RegEx中的OR条件\n
:匹配\n
{2,}
:匹配前一个字符两次或多次g
:全球旗帜$1
:第一个捕获的组,即操作系统支持的单个换行符。