2010-07-08 51 views

Trả lời

5

$str=str_replace("\n", "", $str); nên làm điều đó.

"\n" đại diện cho dòng mới trong php.

+0

Tôi thứ hai câu trả lời này. – David

+0

bỏ lỡ kết thúc dòng \ r – nathan

+0

nathan, xem nhận xét của tôi về câu trả lời của Alex. –

11

Đây là một chút bối rối

là có bất kỳ phương pháp php để loại bỏ mới dòng char từ chuỗi?

Có vẻ như bạn thực sự muốn chúng được thay thế bằng dấu cách.

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

Giả sử thay thế đi từ trái sang phải, điều này phải phù hợp với tệp văn bản Windows.

Nhóm đầu tiên phù hợp với các dòng mới của Windows sử dụng cả \ r và \ n.

+0

bây giờ tạo ra 'Hi there', nếu dòng terminator là cả hai \ r và \ n như trong các tập tin windows thì bạn nhận được khoảng cách gấp đôi – nathan

+0

chỉ cần xử lý không gian đôi bây giờ - gần như có (ps sẽ +1 trong oo 6 phút, ty cho các giới hạn như vậy) – nathan

+0

@nathan Bạn đang nói gì sẽ tăng gấp đôi không gian - không phải là thay thế đầu tiên bao gồm sự kết hợp với một không gian duy nhất, và sau đó những người khác sẽ loại bỏ các kết thúc dòng phong cách Unix? – alex

3

Để có được kết quả mong đợi, bạn sẽ cần:

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

hoặc với regex (đó là không an toàn, bạn không thể giải thích cho tất cả các khoảng cách bổ sung mà bạn có thể nhận được với phiên bản str_replace):

$str = trim(preg_replace(array('/\v/','/\s\s+/'), ' ' , $str)); // 'Hi there' 
+0

OP cho biết họ không muốn sử dụng cụm từ thông dụng. – alex

+0

lol đã lưu ý và sắp xếp! – nathan

0

Bạn có thể sử dụng tập lệnh bên dưới.

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

Cảm ơn

4

Không có cách nào để thoát khỏi dòng mới trong PHP.

Như đã đề cập trong tài liệu PHP trên strings sau liệt kê tất cả các nhân vật thoát:

Như trong chuỗi trích dẫn duy nhất, thoát bất kỳ ký tự khác sẽ dẫn đến trong dấu chéo ngược được in quá.

Vì vậy, bạn có thể làm điều đó bằng cách phá vỡ chuỗi của bạn trong mỗi dòng và concatenating chúng bằng cách chấm như thế này:

$str = "Hi " . 
"there" . 
"!"; 
Các vấn đề liên quan