2010-06-28 37 views
7

Ho una variabile ($myClass[0]->comment;) con ritorno a capo. Voglio sostituire tutto il ritorno a capo in quella variabile con "\n" come posso farlo.
seguito potrebbero aiutare un po 'Come sostituire il ritorno a capo

$myClass[0]->comment;  

Ecco alcune uscita

<?php 
      $test = explode(chr(13),$myClass[0]->comment); 
      var_dump($test); 

?> 

USCITA

array 
    0 => string '12' (length=2) 
    1 => string ' 
' (length=1) 
    2 => string ' 
22' (length=3) 

Tutto quello che voglio è \n invece di ritorno a capo.

risposta

10

Se si desidera sostituire ogni CR (\ r) con LF (\ n), fare questo

$str=str_replace("\r", "\n", $str); 

Se si desidera un letterale \ n, fare questo

$str=str_replace("\r", "\\n", $str); 

È più probabile che si desideri sostituire CR LF, in cui invece è sufficiente cercare "\r\n".

6

È possibile utilizzare str_replace() per fare questo:

$test = str_replace("\r", "\n", $myClass[0]->comment); 
3

è possibile utilizzare str_replace

http://us.php.net/str_replace

str_replace("\r", "\n", $text); 

se si wan't prima di cancellare composto \ r \ n, quindi non si ottiene \ n \ n si potrebbe fare

str_replace("\r\n", "\n", $text); 
str_replace("\r", "\n", $text); 
3

No, non è così. Si desidera:

str_replace("\r\n", "\n", $myClass[0]->comment) 
0

Utilizzare semplicemente str_replace.

str_replace("\r", "\n", $string); 
8
preg_replace('/\r\n?/', "\n", $str); 

Converte le terminazioni di linea Windows e Mac in terminazioni di linea Unix.

0

Qualcosa di un po 'più funzionale (facile da usare ovunque):

function replace_carriage_return($replace, $string) 
{ 
    return str_replace(array("\n\r", "\n", "\r"), $replace, $string); 
} 
Problemi correlati