2010-06-28 35 views
7

Tôi có một biến ($myClass[0]->comment;) có trở lại vận chuyển trong đó. Tôi muốn thay thế tất cả các vận chuyển trở lại trong biến đó với "\n" làm cách nào tôi có thể làm điều đó.
dưới đây có thể giúp một chútLàm thế nào để thay thế trở lại vận chuyển

$myClass[0]->comment;  

Dưới đây là một số sản lượng

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

?> 

OUTPUT

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

Tất cả tôi muốn là \n thay vì vận chuyển trở lại.

Trả lời

10

Nếu bạn muốn thay thế mỗi CR (\ r) với LF (\ n), làm được điều này

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

Nếu bạn muốn có một \ n theo nghĩa đen, làm được điều này

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

Có nhiều khả năng bạn muốn thay thế CR LF, thay vào đó, chỉ cần tìm kiếm "\r\n".

6

Bạn có thể sử dụng str_replace() để làm điều này:

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

bạn có thể sử dụng str_replace

http://us.php.net/str_replace

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

nếu bạn lần đầu tiên wan't để xóa ra khỏi hợp chất \ r \ n, do đó bạn không nhận được \ n \ n bạn có thể làm

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

Không, bạn không có. Bạn muốn điều này:

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

Chỉ cần sử dụng str_replace.

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

Điều này chuyển đổi cả hai dòng Windows và Mac thành dòng cuối Unix.

0

Có gì đó chức năng hơn một chút (dễ sử dụng ở mọi nơi):

function replace_carriage_return($replace, $string) 
{ 
    return str_replace(array("\n\r", "\n", "\r"), $replace, $string); 
} 
Các vấn đề liên quan