Hướng dẫn remove extra space in php - loại bỏ dung lượng thừa trong php

Tôi nhận được một chuỗi từ truy vấn cơ sở dữ liệu, sau đó tôi xóa tất cả các thẻ HTML, trả về vận chuyển và Newlines trước khi tôi đặt nó vào tệp CSV. Chỉ có điều đó là, tôi không thể tìm cách loại bỏ khoảng trắng dư thừa từ giữa các chuỗi.excess white space from between the strings.

Điều gì sẽ là cách tốt nhất để loại bỏ các ký tự khoảng trắng bên trong?

Hướng dẫn remove extra space in php - loại bỏ dung lượng thừa trong php

Amar

13.2K7 Huy hiệu vàng52 Huy hiệu bạc70 Huy hiệu đồng7 gold badges52 silver badges70 bronze badges

Đã hỏi ngày 9 tháng 11 năm 2009 lúc 19:52Nov 9, 2009 at 19:52

4

Không chắc chắn chính xác những gì bạn muốn nhưng đây là hai tình huống:

  1. Nếu bạn chỉ xử lý khoảng trắng dư thừa ở đầu hoặc cuối chuỗi, bạn có thể sử dụng

    $str = str_replace(' ','',$str);
    
    1,
    $str = str_replace(' ','',$str);
    
    2 hoặc
    $str = str_replace(' ','',$str);
    
    3 để loại bỏ nó.

  2. Nếu bạn đang xử lý các không gian bổ sung trong một chuỗi, hãy xem xét một

    $str = str_replace(' ','',$str);
    
    4 của nhiều khoảng trắng
    $str = str_replace(' ','',$str);
    
    5 với một khoảng trắng duy nhất
    $str = str_replace(' ','',$str);
    
    6.

Example:

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

Hướng dẫn remove extra space in php - loại bỏ dung lượng thừa trong php

Vaidas

9089 Huy hiệu bạc22 Huy hiệu đồng9 silver badges22 bronze badges

Đã trả lời ngày 9 tháng 11 năm 2009 lúc 20:05Nov 9, 2009 at 20:05

jW.jW.jW.

9.14012 Huy hiệu vàng46 Huy hiệu bạc 50 Huy hiệu Đồng12 gold badges46 silver badges50 bronze badges

6

$str = str_replace(' ','',$str);

Hoặc, thay thế bằng dấu gạch dưới, & nbsp; Vân vân.

Đã trả lời ngày 9 tháng 11 năm 2009 lúc 19:53Nov 9, 2009 at 19:53

Cory Deecory DeeCory Dee

2.7786 huy hiệu vàng38 Huy hiệu bạc55 Huy hiệu đồng6 gold badges38 silver badges55 bronze badges

5

Không có ví dụ nào khác làm việc cho tôi, vì vậy tôi đã sử dụng cái này:

trim(preg_replace('/[\t\n\r\s]+/', ' ', $text_to_clean_up))

Điều này thay thế tất cả các tab, dòng mới, không gian đôi, vv thành không gian 1 đơn giản.

Đã trả lời ngày 3 tháng 7 năm 2014 lúc 7:01Jul 3, 2014 at 7:01

Lukas liesislukas liesisLukas Liesis

22.6K9 Huy hiệu vàng106 Huy hiệu bạc102 Huy hiệu Đồng9 gold badges106 silver badges102 bronze badges

1

$str = str_replace(' ','',$str);
7

Dòng mã trên sẽ loại bỏ các không gian bổ sung, cũng như các không gian dẫn đầu và dấu vết.

Đã trả lời ngày 19 tháng 6 năm 2013 lúc 0:50Jun 19, 2013 at 0:50

d-_-bd-_-bd-_-b

20,5K39 Huy hiệu vàng141 Huy hiệu bạc234 Huy hiệu đồng39 gold badges141 silver badges234 bronze badges

Nếu bạn muốn chỉ thay thế nhiều khoảng trống trong một chuỗi, ví dụ:

$str = str_replace(' ','',$str);
8 và bạn mong đợi câu trả lời sẽ là
$str = str_replace(' ','',$str);
9, bạn có thể sử dụng giải pháp sau:

$strng = "this string                        have lots of                        space  .   ";

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

echo $strng;

Đậu phụng

3.5633 huy hiệu vàng29 Huy hiệu bạc44 Huy hiệu đồng3 gold badges29 silver badges44 bronze badges

Đã trả lời ngày 22 tháng 5 năm 2015 lúc 7:18May 22, 2015 at 7:18

ApsarapsarApsar

2253 Huy hiệu bạc6 Huy hiệu đồng3 silver badges6 bronze badges

1

Có những sai sót bảo mật khi sử dụng preg_replace (), nếu bạn nhận được tải trọng từ đầu vào của người dùng [hoặc các nguồn không đáng tin cậy khác]. PHP thực thi biểu thức chính quy với eval (). Nếu chuỗi đến không được vệ sinh đúng cách, ứng dụng của bạn có nguy cơ bị tiêm mã.code injection.

Trong ứng dụng của riêng tôi, thay vì làm phiền việc vệ sinh đầu vào (và khi tôi chỉ xử lý các chuỗi ngắn), thay vào đó tôi đã tạo ra một chức năng chuyên sâu hơn một chút, mặc dù là an toàn, vì nó không phải là bất cứ điều gì.

function secureRip(string $str): string { /* Rips all whitespace securely. */
  $arr = str_split($str, 1);
  $retStr = '';
  foreach ($arr as $char) {
    $retStr .= trim($char);
  }
  return $retStr;
}

Đã trả lời ngày 29 tháng 6 năm 2018 lúc 14:55Jun 29, 2018 at 14:55

FOMFOMFom

4796 Huy hiệu bạc13 Huy hiệu Đồng6 silver badges13 bronze badges

1

$str = preg_replace('/[\s]+/', ' ', $str);

Amir fo

4,4941 Huy hiệu vàng39 Huy hiệu bạc46 Huy hiệu đồng1 gold badge39 silver badges46 bronze badges

Đã trả lời ngày 28 tháng 4 năm 2010 lúc 12:57Apr 28, 2010 at 12:57

0

Bạn có thể dùng:

$str = trim(str_replace("  ", " ", $str));

Điều này loại bỏ thêm khoảng trắng từ cả hai bên của chuỗi và chuyển đổi hai khoảng trống thành một trong chuỗi. Lưu ý rằng điều này sẽ không chuyển đổi ba hoặc nhiều không gian liên tiếp thành một! Một cách khác mà tôi có thể đề xuất là sử dụng sự bùng nổ và bùng nổ an toàn hơn nhưng hoàn toàn không tối ưu!removes extra whitespaces from both sides of string and converts two spaces to one within the string. Note that this won't convert three or more spaces in a row to one! Another way I can suggest is using implode and explode that is safer but totally not optimum!

$str = implode(" ", array_filter(explode(" ", $str)));

Đề xuất của tôi là sử dụng một bản địa cho vòng lặp hoặc sử dụng Regex để thực hiện loại công việc này.

Đã trả lời ngày 3 tháng 7 năm 2018 lúc 15:41Jul 3, 2018 at 15:41

Bọt Amir choAmir Fo

4,4941 Huy hiệu vàng39 Huy hiệu bạc46 Huy hiệu đồng1 gold badge39 silver badges46 bronze badges

1

Đã trả lời ngày 28 tháng 4 năm 2010 lúc 12:57

? productID =26%20via%20@LFS

Bạn có thể dùng:

$productID=preg_replace('/[\s]+.*/','',$productID);

Điều này loại bỏ thêm khoảng trắng từ cả hai bên của chuỗi và chuyển đổi hai khoảng trống thành một trong chuỗi. Lưu ý rằng điều này sẽ không chuyển đổi ba hoặc nhiều không gian liên tiếp thành một! Một cách khác mà tôi có thể đề xuất là sử dụng sự bùng nổ và bùng nổ an toàn hơn nhưng hoàn toàn không tối ưu!

Đề xuất của tôi là sử dụng một bản địa cho vòng lặp hoặc sử dụng Regex để thực hiện loại công việc này.Dec 3, 2013 at 23:40

Hướng dẫn remove extra space in php - loại bỏ dung lượng thừa trong php

Đã trả lời ngày 3 tháng 7 năm 2018 lúc 15:41JScarry

Bọt Amir cho1 gold badge13 silver badges25 bronze badges

Để mở rộng trên câu trả lời của Sandip, tôi đã có một loạt các chuỗi hiển thị trong các bản ghi được mã hóa sai bằng bit.ly. Họ có nghĩa là mã chỉ URL nhưng đặt một tay cầm Twitter và một số thứ khác sau một không gian. Nó trông như thế này

Thông thường, đó sẽ không phải là vấn đề, nhưng tôi đang nhận được rất nhiều nỗ lực tiêm SQL, vì vậy tôi chuyển hướng bất cứ thứ gì không phải là ID hợp lệ cho 404. Tôi đã sử dụng phương thức preg_replace để biến chuỗi sản phẩm không hợp lệ thành một chuỗi Sản phẩm hợp lệ.May 9, 2019 at 10:59

Tôi tìm kiếm một không gian trong URL và sau đó loại bỏ mọi thứ sau nó.zsoro

Đã trả lời ngày 3 tháng 12 năm 2013 lúc 23:401 silver badge9 bronze badges

$str = str_replace(' ','',$str);
0

JScarryjScarryMar 23, 2019 at 10:38

Làm cách nào để cắt một không gian trong PHP?

Hàm Trim () sẽ loại bỏ khoảng trắng và các ký tự được xác định trước khác từ cả hai phía của chuỗi. Các hàm liên quan: LTRIM () - Loại bỏ khoảng trắng hoặc các ký tự được xác định trước khác khỏi phía bên trái của chuỗi. RTRIM () - Loại bỏ khoảng trắng hoặc các ký tự được xác định trước khác khỏi phía bên phải của chuỗi.. Related functions: ltrim() - Removes whitespace or other predefined characters from the left side of a string. rtrim() - Removes whitespace or other predefined characters from the right side of a string.

Làm thế nào để bạn thoát khỏi không gian thêm?

Cắt không gian cho Excel - Xóa các không gian bổ sung trong một cú nhấp chuột..
Chọn (các) ô nơi bạn muốn xóa không gian ..
Nhấp vào nút Trim Spaces trên Ribbon ..
Chọn một hoặc tất cả các tùy chọn sau: Cắt không gian dẫn và dấu vết.Cắt thêm không gian giữa các từ, ngoại trừ một không gian duy nhất.....
Nhấp vào Trim ..

Whitespace trong PHP là gì?

Một khoảng trắng là bất kỳ nhân vật nào biểu hiện làm không gian, đó là: một nhân vật không gian.Một ký tự tab.Một nhân vật trở lại vận chuyển.Một nhân vật dòng mới.any character that renders as a space, that is: A space character. A tab character. A carriage return character. A new line character.

Làm thế nào để bạn cắt một không gian trong HTML?

Prototype.trim () Phương thức Trim () sẽ loại bỏ khoảng trắng từ cả hai đầu của chuỗi và trả về một chuỗi mới, mà không cần sửa đổi chuỗi gốc. trim() The trim() method removes whitespace from both ends of a string and returns a new string, without modifying the original string.