我正在尝试制作一个负责文本格式化的正则表达式。当有多个空行时,它将它们转换为一个,当有空格和空行时,它们只将它们转换为空行,因为当有空格和空行时,第一个转换不起作用。我的代码看起来像这样:
$string = str_replace(array("\r\n","\r","\n"), "<br />", $string);
$string = preg_replace("/<br \/>(\s|<br \/>)+<br \/>/", "<br /><br />", $string);
echo $string;
如何将两行正则表达式合二为一?
我试过这个,但它似乎没有工作正常:
$string = preg_replace("/(\r\n|\r|\n)(\s|(\r\n|\r|\n))+(\r\n|\r|\n)/", "<br /><br />", $string);
由于
答案 0 :(得分:0)
为什么不在有新行时替换任何空格:
$string = preg_replace("/\s*\r?\n/", "<br /><br />", $string);