Php 在一个新行中替换多个新行
我想用一个换行符替换多个换行符,用一个空格替换多个空格,然后插入到数据库中。Php 在一个新行中替换多个新行,php,preg-replace,Php,Preg Replace,我想用一个换行符替换多个换行符,用一个空格替换多个空格,然后插入到数据库中。 到目前为止我试过这个 preg\u replace(“/\n\n+/”、“\n”、$text)并且不工作 我还对$text进行了格式化 $text = wordwrap($text,120, '<br/>', true); $text = nl2br($text); $text=wordwrap($text,120,,true); $text=nl2br($text); 尝试使用以下方法:
到目前为止我试过这个
preg\u replace(“/\n\n+/”、“\n”、$text)代码>并且不工作
我还对$text进行了格式化
$text = wordwrap($text,120, '<br/>', true);
$text = nl2br($text);
$text=wordwrap($text,120,
,true);
$text=nl2br($text);
尝试使用以下方法:
$text = str_replace(PHP_EOL, '', $text);
尝试使用以下模式:
/[\n\r]+/
详情如下:
preg_replace( "/[\r\n]+/", "\n", $text );
您需要根据系统使用正确的行尾字符PHP_EOL
为您确定行尾字符
$text=str\u replace(PHP\u下线,数组(“\n”、“\r\n”、“\r”)、$text)代码>
仅适用于HTML
Windows使用“\r\n”作为新行字符
基于Unix的使用“\n”
Mac(我认为)使用“\r”您可能需要:
preg_replace("/(\s)+/", "$1", $input_lines);
\s---匹配任何空白字符(所有字符,如空格、制表符、新行等)
$1---一组中的第一个空白字符。如果第一个是空格,后面有3行新行。我们只有一个空间
或者,您可以使用以下选项:
preg_replace("/(\n)+/", "$1", $input_lines);
preg_replace("/( )+/", "$1", $input_lines);
尝试:
考虑到最后一行中的空间。
$text=preg\u replace(“/[\r\n]+\s+/”,“\r\n”,$text)
您可能应该考虑不同的可能换行组合,即\n
、\r
或\r\n
。这取决于运行此操作的系统。每个组合之间的区别是什么?我正在使用MAC OS。作为参考,我相信Windows使用\r\n
,Linux和类似Unix的系统倾向于使用\n
,MAC OS倾向于\r
。不过,编写代码时应该考虑所有情况。您应该尽可能争取平台独立性。
preg_replace("/[\r\n]+/", "\n", $text);