2013-05-24 38 views
7

tôi đang tìm cách xóa bỏ khoảng trắng dư thừa từ bên trong một chuỗi (nghĩa là nếu 2 hoặc nhiều không gian nằm cạnh nhau, chỉ để lại 1 và loại bỏ các dòng khác), i tìm thấy Remove excess whitespace from within a string này và tôi muốn sử dụng giải pháp này:PHP - Xóa khoảng trắng dư thừa nhưng không phải là dòng mới

$foo = preg_replace('/\s+/', ' ', $foo); 

nhưng này loại bỏ dòng mới là tốt, trong khi tôi muốn giữ chúng. Có cách nào để giữ các dòng mới trong khi xóa khoảng trống dư thừa không?

+0

Thay thế '\ s' bằng dấu cách? Nếu bạn cũng muốn xóa các tab thì hãy sử dụng '/ [\ t] + /' – HamZa

Trả lời

4

nếu bạn muốn loại bỏ dư thừa chỉ-không gian (không phải tab, mới dây chuyền, vv) bạn có thể sử dụng mã HEX để cụ thể hơn:

$text = preg_replace('/\x20+/', ' ', $text); 
+0

Có rất nhiều ký tự khoảng trắng không phải là không gian ASCII 32 ('\ x20'). – Piskvor

Các vấn đề liên quan