我知道有类似的问题,但我有一些不同的问题!
我需要在PHP中将多个空行转换为一个,但是当我不仅使用New Lines,而且使用Spaces和New Lines时它不起作用。如果有2个或更多空行(带空格并输入'),它们应该仅在一个空行中转换,当它只是新行时(但不是 空白行),它应该保持不变。
我使用了它,但它不适用于空格和新行:
$string = str_replace(array("\r\n", "\r", "\n", "<br />", $string);
echo preg_replace("~<br />(<br\s*/?>[\r\n]*)+~i", "<br /><br />", $string);
我还需要在Windows,Linux和Mac中以这种方式显示它!
答案 0 :(得分:1)
我认为这些是你唯一需要的东西
$str = str_replace(array("\n", "\r", "\t"), ' ', $str);
$str = preg_replace('/(\s+)/', ' ', $str);
答案 1 :(得分:0)
<?php
$str = '
aa
a
a
a
';
for($i = 1;$i< 8;$i++){
$str = str_replace("\r\n\r\n\r\n", "\r\n\r\n", $str);
$str = str_replace("\t", '', $str);
}
echo $str;
答案 2 :(得分:0)
试试这个
preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $string);