替换多个换行符,制表符和空格

我想用一个换行符替换多个换行符,并用一个空格替换多个空格。

我尝试preg_replace("/\n\n+/", "\n", $text);失败了!

我也在$ text上进行格式化。

$text = wordwrap($text, 120, '<br/>', true);

$text = nl2br($text);

$ text是从用户那里获取的用于BLOG的大文本,为了获得更好的格式,我使用了自动换行。

回答:

从理论上讲,您可以使用正则表达式工作,但是问题是,并非所有操作系统和浏览器都仅在字符串末尾发送\ n。许多人还会发送\ r。

尝试:

我简化了这个:

preg_replace("/(\r?\n){2,}/", "\n\n", $text);

为了解决仅发送\ r的问题:

preg_replace("/[\r\n]{2,}/", "\n\n", $text);

根据您的更新:

// Replace multiple (one ore more) line breaks with a single one.

$text = preg_replace("/[\r\n]+/", "\n", $text);

$text = wordwrap($text,120, '<br/>', true);

$text = nl2br($text);

以上是 替换多个换行符,制表符和空格 的全部内容, 来源链接: utcz.com/qa/411905.html

回到顶部