Php xóa tất cả các ký tự sau chuỗi cụ thể

Có một chuỗi văn bản và nhiệm vụ xóa tất cả hoặc một số ký tự đặc biệt khỏi chuỗi đó trong PHP, bài viết này giải thích các phương pháp khác nhau để đạt được điều đó bằng các minh họa của nhiều ví dụ

Để bắt đầu, chúng ta có ý nghĩa gì bởi các ký tự đặc biệt?

Một ký tự đặc biệt có thể được định nghĩa là bất kỳ ký tự nào không được coi là chữ và số (bảng chữ cái hoặc số), tức là. nếu nó không nằm trong phạm vi 0 - 9 hoặc A - Z. Dấu chấm câu, ký hiệu và dấu trọng âm được coi là ký tự đặc biệt

Những thứ trên bàn phím của bạn như @, /, {, ), $, và, #, v.v đều là các ký tự đặc biệt

Trong PHP, bạn có thể loại bỏ một số hoặc tất cả các ký tự đặc biệt trong chuỗi bằng cách sử dụng

  • Hàm str_replace()
  • Hàm preg_replace()

Phương pháp 1. Sử dụng hàm str_replace()

The str_replace() là một hàm có sẵn trong PHP được sử dụng để thay thế một số ký tự bằng một số ký tự khác trong một chuỗi.

cú pháp

str_replace(tìm, thay thế, chuỗi, đếm)

Thông số

  • Find là tham số bắt buộc chỉ định giá trị (ký tự) mà chúng ta muốn tìm và thay thế
  • Thay thế là một tham số bắt buộc chỉ định giá trị chúng ta nên thay thế ký tự bằng. Trong trường hợp này, chúng tôi sẽ sử dụng một chuỗi rỗng ("")
  • Thay thế là một tham số bắt buộc chỉ định chuỗi mà chúng tôi muốn xóa các ký tự đặc biệt khác nhau
  • Số lượng là một tham số tùy chọn là một biến đếm số lần thay thế. Trong trường hợp này, chúng tôi sẽ không thực sự cần nó

Hàm trả về một chuỗi đã loại bỏ các ký tự đặc biệt đã chỉ định

Ví dụ

đầu ra

chào bạn. Bạn khỏe chứ

Bạn có thể thấy rằng "?", mà chúng tôi đã chỉ định trong chuỗi của mình đã bị xóa

Để xóa nhiều hơn một ký tự cụ thể khỏi một chuỗi, bạn sẽ cần chỉ định tất cả chúng trong một mảng làm tham số đầu tiên của hàm

Ví dụ

đầu ra

chào bạn. Bạn dạo này thế nào?

Như bạn có thể thấy, chúng tôi đã xóa tất cả các ký tự được chỉ định ("@", "#", "(", ")", "*", "/") khỏi chuỗi

Phương pháp này được sử dụng tốt nhất để xóa các ký tự cụ thể nhưng không phù hợp để xóa tất cả các ký tự đặc biệt

Hàm str_ireplace() tương đương với str_replace() về mọi mặt với sự khác biệt duy nhất của chúng là phân biệt chữ hoa chữ thường. str_replace() phân biệt chữ hoa chữ thường trong khi str_ireplace() không phân biệt chữ hoa chữ thường

Phương pháp 2. Sử dụng hàm preg_replace()

Hàm preg_replace() thay thế tất cả các kết quả khớp của một mẫu hoặc danh sách các mẫu trong một chuỗi bằng các chuỗi con.

cú pháp

preg_replace(mẫu, thay thế, đầu vào, giới hạn, số lượng)

Thông số

  • Mẫu là một tham số bắt buộc bao gồm một biểu thức chính quy hoặc một mảng các biểu thức chính quy
  • Thay thế là một tham số bắt buộc bao gồm một chuỗi thay thế hoặc một mảng các chuỗi thay thế
  • Đầu vào là một tham số bắt buộc chỉ định chuỗi hoặc mảng chuỗi trong đó việc thay thế sẽ được thực hiện
  • Giới hạn là tham số bắt buộc đặt giới hạn về số lần thay thế sẽ được thực hiện trong mỗi chuỗi
  • Số đếm là một tham số tùy chọn, một biến chứa số lần thay thế đã xảy ra sau khi hàm được thực thi

Mẫu bao gồm từ hoặc cụm từ sẽ được thay thế nằm trong dấu gạch chéo mở và đóng về phía trước /pattern/ .

Dưới đây là biểu thức chính quy (mẫu) cho các ký tự chữ và số

[a-zA-Z0-9] cũng có thể được viết là [[. năm tháng. ]]

Nó khớp với tất cả các giá trị chữ và số, nghĩa là tất cả các giá trị nằm trong phạm vi 0 - 9 và A - Z (chữ hoa và chữ thường)

Nếu chúng ta muốn xóa tất cả các giá trị chữ và số khỏi một chuỗi, chúng ta chuyển [a-zA-Z0-9] làm mẫu trong hàm preg_replace() và thay thế nó bằng một chuỗi trống "".

đầu ra

@#. ( ) *_/?

Bây giờ để xóa các ký tự đặc biệt khỏi chuỗi, chúng ta phải sử dụng biểu thức chính quy khớp với bất kỳ ký tự không phải chữ và số nào như hình bên dưới

[^a-zA-Z0-9] cũng có thể được viết là [^[. năm tháng. ]]

Nó chỉ là một phủ định bằng cách thêm "^" ngay sau dấu ngoặc nhọn. Nó khớp với mọi thứ không phải là một phần của mẫu. Trong trường hợp này, nó khớp với mọi thứ không nằm trong phạm vi 0 - 9 và A - Z (chữ hoa và chữ thường)

Ví dụ

đầu ra

HeythereHowareyoudoing

Bây giờ như bạn có thể thấy, chúng tôi đã xóa tất cả các ký tự đặc biệt khỏi chuỗi

Tuy nhiên, như bạn đã nhận thấy, nó cũng đã loại bỏ các dấu cách và dấu câu như dấu chấm, dấu chấm hỏi, dấu chấm than, v.v.

Nếu bạn muốn giữ lại các ký tự khác trong chuỗi, bạn cần chỉ định chúng trong biểu thức chính quy

Ví dụ: biểu thức chính quy bên dưới khớp với bảng chữ cái viết thường a-z , bảng chữ cái viết hoa A-Z, numbers 0-9, whitespaces \s, exclamation mark ! , dấu hỏi ? , dấu chấm hết . , dấu phẩy , , dấu nháy đơn \' and double quote ".

[a-zA-Z0-9\s. ?. ,\'\"]

Để xóa tất cả các ký tự không thuộc tiêu chí trên, bạn phải thêm ^ sau dấu ngoặc nhọn mở để biểu thức chính quy là [^a-zA-Z0-9\s. ?. ,\'\"]

Ví dụ

đầu ra

chào bạn. Bạn dạo này thế nào?

Đó là nó

Bây giờ bạn có thể thoải mái loại bỏ cụ thể hoặc tất cả các ký tự đặc biệt khỏi một chuỗi trong PHP bằng cách sử dụng các hàm str_replace() và preg_replace()

Làm cách nào để xóa tất cả các ký tự khỏi chuỗi sau một ký tự cụ thể trong PHP?

Hàm substr() và strpos() được sử dụng để loại bỏ một phần của chuỗi sau ký tự nhất định. hàm strpos(). Hàm này dùng để tìm vị trí xuất hiện đầu tiên của một chuỗi bên trong một chuỗi khác. Hàm trả về một giá trị nguyên của vị trí xuất hiện đầu tiên của chuỗi.

Làm cách nào để xóa tất cả các ký tự khỏi chuỗi sau một ký tự cụ thể?

Để xóa mọi thứ sau một ký tự cụ thể trong một chuỗi. Sử dụng Chuỗi. phương thức split() để tách chuỗi trên ký tự .

Làm cách nào để cắt một chuỗi trước một ký tự cụ thể trong PHP?

Hàm trim() xóa khoảng trắng và các ký tự được xác định trước khác khỏi cả hai phía của chuỗi. chức năng liên quan. ltrim() - Xóa 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() - Xóa 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.

Làm cách nào để xóa tất cả các ký tự sau một ký tự cụ thể trong JavaScript?

Để cắt chuỗi sau một ký tự cụ thể, hãy sử dụng phương thức “slice()” của JavaScript . Nó lấy chỉ mục bắt đầu và chỉ mục cuối cùng làm tham số và xuất ra một chuỗi mới bằng cách trích xuất phần của chuỗi dựa trên các chỉ mục đã chỉ định.