转换/替换换行符  



我想用 &nbsp 替换换行符,我正在谷歌上搜索,但没有得到完美的答案。

这是我的字符串

$string = 'multiple

newline

convert


or replace';

我正在使用

str_replace(PHP_EOL.PHP_EOL, PHP_EOL.' '.PHP_EOL, $string);

但输出:

multiple
 
newline
 
 
convert
 
 
or replace

结果应该是:

multiple
 
newline
 
 
convert
 
 
 
or replace

请任何人帮助解决这个问题...

我确定您的问题在其他地方,但这是我的解决方案,使用preg_replace_callback

$string = 'multiple

newline

convert


or replace';
$r = preg_replace_callback(
'/' . PHP_EOL . '(' . PHP_EOL . '+)' . PHP_EOL . '/',
function($v) {
return PHP_EOL .PHP_EOL . implode(PHP_EOL . PHP_EOL, array_fill(0, strlen($v[1]), ' ')) . PHP_EOL . PHP_EOL ;
},
$string
);
echo $r;

最新更新