2017-07-15 58 views
0

我想用新代码替换&我在谷歌上搜索但没有得到完美答案。将换行符转换为 

这是我的字符串

$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 

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

+0

'nl2br()'可以帮助 – colburton

+0

我也试试nl2br();功能,但似乎并没有工作....如果您有任何其他建议,请解释.... –

+1

这是什么目的?也许我们可以用其他方式解决这个问题? –

回答

0

我敢肯定,你的问题是在其他地方,但这里是我的解决方案,使用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; 
+0

感谢您试图提供帮助。我会尝试这个代码。 –

+0

多个     换行符     转换     或更换,这是导致 –

+0

这是不工作... –