Làm cách nào để tìm và thay thế trong PHP?

Hàm str_replace[] là một hàm dựng sẵn, phân biệt chữ hoa chữ thường của PHP, thay thế một số ký tự của chuỗi bằng các ký tự khác. Nó được sử dụng để thay thế tất cả các lần xuất hiện của chuỗi tìm kiếm bằng chuỗi thay thế

cú pháp

Cú pháp của hàm str_replace[] được đưa ra dưới đây, có bốn tham số sau

Chức năng này tuân theo một số quy tắc trong khi làm việc, được đưa ra dưới đây

  • Nếu chuỗi cần tìm là một mảng, nó sẽ trả về một mảng
  • Nếu chuỗi cần tìm là một mảng thì tìm kiếm và thay thế được thực hiện với từng phần tử của mảng
  • Nếu cả $search và $replace đều là mảng và $replace có ít phần tử hơn mảng $search thì một chuỗi rỗng sẽ được sử dụng để thay thế
  • Nếu $search là một mảng, nhưng $replace là một chuỗi, thì chuỗi thay thế sẽ được sử dụng cho mọi giá trị tìm kiếm

Tham số

Hàm str_replace[] có 4 tham số trong đó 3 tham số bắt buộc và tham số còn lại là tham số tùy chọn. Tất cả các thông số sau đây được mô tả dưới đây

$search [bắt buộc] - Tham số này là tham số bắt buộc có thể có cả giá trị kiểu chuỗi và kiểu mảng. Tham số $search chứa giá trị sẽ được tìm kiếm để thay thế trong chuỗi $

$replace [bắt buộc] - Tham số này là tham số bắt buộc được thay thế bằng các giá trị tìm kiếm. Nói một cách đơn giản - tham số này giữ giá trị đó sẽ thay thế giá trị tìm kiếm $ trong chuỗi $

$string [bắt buộc] - Tham số này cũng là tham số bắt buộc, là một mảng hoặc chuỗi trong đó giá trị tìm kiếm và thay thế được tìm kiếm và thay thế. Đó là chuỗi hoặc mảng mà chúng tôi đang làm việc

$count [bắt buộc] - Đây là tham số cuối cùng và tùy chọn. Nó là một biến số nguyên đếm số lần thay thế được thực hiện trong chuỗi. Đơn giản, biến này lưu trữ tổng số lần thay thế được thực hiện trên chuỗi $string

Giá trị trả về

Hàm này trả về một mảng hoặc một chuỗi với các giá trị được thay thế dựa trên tham số $string

Chi tiết kỹ thuật quan trọng

Giá trị trả về Nó trả về một chuỗi hoặc một mảng với các giá trị được thay thế. Phiên bản PHP được hỗ trợ Phiên bản PHP 4 trở lên hỗ trợ chức năng này. Changelog Tham số $count đã được bao gồm trong PHP 5. 0
Hàm này gặp nhiều sự cố khi sử dụng cả hai tham số $search và $replace dưới dạng một mảng trước PHP 4. 3. 3. Vì vậy, các chỉ mục tìm kiếm $ trống đó sẽ bị bỏ qua mà không tăng con trỏ bên trong trên mảng $replace. Các phiên bản mới hơn đã giải quyết vấn đề này
Sau PHP4. 0. 5, hầu hết các tham số bây giờ có thể là một mảng

Thí dụ

Có triển khai thực tế của hàm str_replace[]

ví dụ 1. Ví dụ cơ bản với biến chuỗi

đầu ra

Trong ví dụ trên, chúng ta có thể thấy rằng "Hii" được thay thế bằng "Xin chào" và số lượng thay thế chỉ là 1

Ghi chú. Chúng ta có thể chuyển trực tiếp giá trị $search và $replace vào hàm str_replace[]

ví dụ 2. Thay thế bằng biến mảng

Để thay thế nhiều giá trị trong $string, chúng ta phải lấy một mảng để lưu trữ các giá trị này để thay thế

đầu ra

Trong kết quả này, chúng ta có thể thấy rằng "Hii" được thay thế bằng "Xin chào" và "Chúng tôi" được thay thế bằng "Bạn" và số lượng thay thế là 2

ví dụ 3. Thay thế các nguyên âm bằng chuỗi rỗng

đầu ra

Trong ví dụ này, chúng tôi thay thế các nguyên âm [cả chữ hoa và chữ thường] bằng chuỗi rỗng. Ở đây, 10 thay thế được thực hiện trong chuỗi này

Ví dụ 4. Trường hợp nhạy cảm

str_replace là một hàm phân biệt chữ hoa chữ thường, nó được chứng minh trong ví dụ dưới đây

đầu ra

Trong ví dụ này, "Xin chào" không được thay thế bằng "Xin chào" vì chuỗi tìm kiếm là "xin chào. " Trong trường hợp thứ hai, "Xin chào" đã được thay thế bằng "Xin chào" vì ở đây chuỗi tìm kiếm là "Xin chào" khớp với chuỗi. Nó chứng tỏ rằng hàm str_replace[] phân biệt chữ hoa chữ thường

Hàm PHP str_replace[] là một hàm xử lý văn bản tích hợp được sử dụng để thay thế tất cả các lần xuất hiện của một chuỗi hoặc mảng tìm kiếm đã cho bằng một chuỗi hoặc mảng thay thế trong một chuỗi hoặc mảng đã cho. Hàm trả về một chuỗi hoặc mảng với tất cả các lần xuất hiện của $searchValue được thay thế bằng $replaceValue trong giá trị đích của chúng tôi.  



Tham số cho Hàm Str_Replace[]

Ba tham số đầu tiên có thể là một chuỗi hoặc một mảng và là bắt buộc, với tham số $count là tùy chọn.  

Giá trị tìm kiếm

Đây là giá trị của một chuỗi hoặc mảng mà chúng tôi đang tìm kiếm, đôi khi được gọi là $needle. Sử dụng một mảng báo hiệu có nhiều chuỗi chúng tôi muốn tìm kiếm trong mục tiêu của mình

Thay thế giá trị

Giá trị thay thế có thể là một chuỗi hoặc một mảng và là giá trị chúng ta muốn thay thế bằng.  

Giá trị chủ đề

Chuỗi hoặc mảng chúng tôi muốn tìm kiếm và thay thế trên. Đôi khi tham số này được gọi là $haystack. Nếu tham số này là một mảng thì hàm sẽ thực hiện tìm kiếm và thay thế trên mọi phần tử trong giá trị chủ thể và kết quả trả về trở thành một mảng

Đếm

Tham số thứ tư tùy chọn có thể được sử dụng để đặt số lần thay thế mà chúng tôi muốn xóa. Tham số đếm đã được thêm vào trong PHP 5. 0.  


Giá trị trả về cho hàm Str_Replace[]

Hàm trả về một chuỗi hoặc một mảng với các giá trị thay thế. Nếu các mảng được sử dụng cho chủ đềValue thì chúng tôi trả về một mảng của từng phần tử mà hàm đã thực hiện tìm kiếm và thay thế trên.  


Kết quả echo str_replace[] này là gì?


Nếu chúng ta truyền mảng cho cả hai tham số $searchValue và $replaceValue, thì hàm php str_replace[] sẽ sử dụng từng giá trị trong mảng $searchValue và thay thế nó bằng từng chuỗi trong mảng $replaceValue giống như vòng lặp for kép


Trong trường hợp mảng $replaceValue chứa ít phần tử hơn mảng được sử dụng cho tham số $searchValue, hàm str_replace[] sử dụng một chuỗi rỗng để thay thế


Trong trường hợp tham số $searchValue là một mảng nhưng tham số $replaceValue là một chuỗi thì hàm str_replace[] sẽ thay thế từng phần tử trong mảng bằng chuỗi $replaceValue


Hàm str_replace[] không ảnh hưởng đến chuỗi $subjectValue ban đầu nhưng trả về một bản sao mới của chuỗi $subjectValue. Chức năng này là hoàn hảo khi bạn không cần thay thế loại biểu thức chính quy phức tạp.  

Ghi chú nhanh về hàm PHP Str_Replace[]

Hàm này thay thế các giá trị từ trái sang phải trong chuỗi, nghĩa là trong trường hợp có nhiều thay thế [với một mảng], hàm có thể thay thế các giá trị mới được chèn bằng các giá trị sau này từ mảng $searchValue


Hàm này được thiết kế phân biệt chữ hoa chữ thường và bạn nên sử dụng str_ireplace để thay thế không phân biệt chữ hoa chữ thường.  


Các ví dụ về hàm PHP Str_Replace[]

Hãy xem xét nhiều cách khác nhau để sử dụng hàm str_replace[]


Các ví dụ thay thế chuỗi PHP đơn giản

Ví dụ mã này thực hiện thay thế chuỗi bằng cách sử dụng hàm str_replace với đầu vào là tất cả các chuỗi. Chúng tôi thay thế chuỗi 'PHP' bằng 'coding' trong chuỗi mục tiêu $string1



Bạn sẽ nhận thấy khi chạy cái này, $string1 của chúng ta hoàn toàn giống như trước khi thực hiện thay thế chuỗi trên $subjectValue của chúng ta. Str_replace không thay đổi chuỗi ban đầu mà tạo lại chuỗi mới và trả về $string2


Đoạn mã sau đây cho thấy rằng chúng ta có thể thay thế nhiều phiên bản của cùng một chuỗi bằng một chuỗi $replaceValue mới

Chuỗi PHP Thay thế bằng nhiều phiên bản của chuỗi tìm kiếm


Chức năng Str_Replace với nhiều lần thay thế và tìm kiếm

Ví dụ dưới đây sử dụng hàm str_replace[] để thay thế bất kỳ trường hợp nào của từ 'Monday', 'Tuesday' hoặc 'Wednesday' bằng các ngày khác nhau 'Friday', 'Saturday' và 'Sunday' trong chuỗi gốc "Today is Monday,


Giống như chúng tôi đã chỉ ra ở trên, hàm str_replace[] thay thế các phiên bản từ trái sang phải và có thể dẫn đến việc thay thế các phiên bản mà chúng tôi đã thay thế. Các từ được thay thế và thêm vào chuỗi $subjectValue của chúng tôi có chứa một từ thay thế khác có thể trở thành nạn nhân của điều này.  



Trong ví dụ này, 'm' sẽ được thay thế bằng 'matt' và sau đó mỗi 't' trở thành một chuỗi 'tyler'. Chúng tôi kết thúc với ba phiên bản khác nhau của 'tyler'


Lời khuyên từ trường hợp sử dụng Str_Replace[] thực

Trong khi xây dựng phần mềm so khớp sản phẩm này, chúng tôi đã sử dụng công cụ quét web để lấy dữ liệu mà chúng tôi có thể sử dụng làm dữ liệu đào tạo cho các mô hình khác nhau mà chúng tôi đã sử dụng. Dữ liệu này là dữ liệu thô và chứa nhiều ký tự và ký hiệu cần được xóa. Hàm str_replace[] đôi khi được sử dụng để xóa và phân tích cú pháp dữ liệu quan trọng khỏi dữ liệu được quét trên web hoặc dữ liệu tệp văn bản. Có một số điều bạn muốn ghi nhớ trong trường hợp sử dụng như thế này



Khi thay thế các mẫu chứa các đặc điểm tương tự, trước tiên hãy luôn liệt kê các mẫu mạnh nhất. Nhiều mẫu bạn tìm thấy sẽ tương tự nhau hoặc chỉ là sự kết hợp của hai mẫu phụ. Theo dõi điều này khi bạn lên kế hoạch cho mảng tìm kiếm của mình.  


Cố gắng đảm bảo tốt nhất có thể rằng các mẫu thay thế mới của bạn không ảnh hưởng đến dữ liệu bạn muốn trích xuất. Việc xóa toàn bộ các phần của chuỗi đầu vào luôn có thể dẫn đến thay đổi cách đọc dữ liệu mà bạn quan tâm.  



Các ví dụ sâu hơn về thay thế chuỗi PHP bằng Str_Replace[]

Hãy xem xét một số cách mạnh mẽ và hiệu quả để sử dụng hàm str_replace[] để thực hiện các tác vụ khác nhau.  


Thay thế chuỗi nhanh hơn với nhiều chuỗi $SubjectValue

Khi chạy một mảng các chuỗi $subjectValue thông qua cùng một lần tìm kiếm và thay thế, việc sử dụng json_encode[] trên mảng $subjectValue sẽ nhanh hơn gần gấp 3 lần, hãy sử dụng hàm str_replace[], sau đó sử dụng json_decode[] ở cuối. Hàm trả về chuỗi mới của chúng tôi với các giá trị được thay thế.  


Khi sắp xếp các hoạt động khác nhau, mã cũng trở nên gọn gàng hơn nhiều


Ghi chú. Bạn có thể muốn đặt tham số thứ hai thành 'True' trong hàm json_decode vì điều này sẽ trả về một đối tượng kiểu theo mặc định thay vì mảng như mong đợi. Hãy cẩn thận với những gì $searchValue và $replaceValue của bạn là tốt. Nếu chúng chứa các chuỗi khớp với mã hóa json, nó có thể dẫn đến sự cố.  


Chỉ thay thế lần xuất hiện đầu tiên của giá trị tìm kiếm

Hàm ví dụ này chỉ thay thế lần xuất hiện đầu tiên của chuỗi tìm kiếm trong chuỗi $subjectValue. Mặc dù điều này không sử dụng str_replace[] phương pháp này có thời gian chạy nhanh nhất trong tất cả các tùy chọn có sẵn. Ví dụ lấy từ cái này.  


Trong đoạn mã trên $haystack là chuỗi chủ đề của chúng tôi, chúng tôi muốn tìm kiếm và thay thế. $Needle là chuỗi tìm kiếm và $replace là chuỗi thay thế.  


Chuyển đổi chuỗi thành URL bằng PHP Str_Replace & Khác

Giả sử chúng ta muốn chuyển đổi một chuỗi chẳng hạn như “Đây hoàn toàn là URL của tôi?” . Chúng ta có thể viết một hàm sử dụng các hàm preg_replace[], strtolower[] và str_replace PHP.  

Chuỗi ban đầu ở trên bây giờ trở thành “this-is-totally-my-url” sau khi đi qua chức năng này. Chúng tôi sử dụng strtolower[] để chuyển đổi chuỗi này thành tất cả chữ thường, sau đó preg_replace chúng ta hãy sử dụng các biểu thức chính quy để thực hiện thay thế trong chuỗi của mình, sau đó cuối cùng chúng tôi sử dụng str_replace[] để thêm '-'. Xoay ở cuối là một chuỗi thay thế với bất kỳ ký tự '-' nổi bật nào được cắt bớt.  


Sổ tay. preg_replace[] thay thế các giá trị tìm kiếm được tìm thấy bằng một chuỗi thay thế giống như chúng ta có thể làm với str_replace[]. Chúng ta cũng có thể chỉ định nhiều thay thế bằng một mảng.  


Tôi có thể sử dụng hàm PHP Str_Replace[] cho các mảng kết hợp không?

Một mảng kết hợp với các khóa là giá trị tìm kiếm và giá trị mảng là chuỗi thay thế có thể được chia nhỏ và chuyển vào str_replace[] bằng cách tách riêng mảng_keys và array_values ​​khỏi mảng kết hợp. Ví dụ sau giả định rằng bạn đang sử dụng một chuỗi cho $subjectValue để tìm kiếm.  


Nhiều giá trị thay thế giờ trở nên gọn gàng hơn một chút vì chúng ta không còn có thể có trường hợp trong đó số lượng giá trị thay thế và giá trị tìm kiếm sẽ giống nhau, giả sử không có giá trị rỗng.  


Tóm lược

Str_Replace[] là một cách phân biệt chữ hoa chữ thường tuyệt vời để tìm kiếm một chuỗi hoặc mảng chuỗi đã cho cho các chuỗi và thay thế chúng mà không cần các quy tắc thay thế ưa thích. Hàm này cho phép bạn chỉ định nhiều kim [$searchValue], nhiều chuỗi thay thế và nhiều chuỗi $subjectValue. Trên hết, hàm này sẽ nhanh chóng thay thế các giá trị tìm kiếm được tìm thấy bằng thời gian chạy nhanh hơn các hàm như preg_replace.  

Làm cách nào để tìm kiếm và thay thế trong PHP?

Hàm str_replace[] thay thế một số ký tự bằng một số ký tự khác trong chuỗi . Chức năng này hoạt động theo các quy tắc sau. Nếu chuỗi cần tìm là một mảng, nó sẽ trả về một mảng. Nếu chuỗi cần tìm là một mảng thì việc tìm và thay thế được thực hiện với mọi phần tử của mảng.

Làm cách nào để thay thế một giá trị trong PHP?

The str_replace[] là một hàm tích hợp sẵn trong PHP và được sử dụng để thay thế tất cả các lần xuất hiện của chuỗi tìm kiếm hoặc mảng của .

Làm cách nào để thay thế các từ trong chuỗi trong PHP?

Trả lời. Sử dụng hàm str_replace[] của PHP .

Làm cách nào để thay thế nhiều chuỗi trong PHP?

Cách tiếp cận 1. Sử dụng các hàm str_replace[] và str_split[] trong PHP . Hàm str_replace[] dùng để thay thế nhiều ký tự trong một chuỗi và nó nhận ba tham số. Tham số đầu tiên là mảng ký tự cần thay thế.

Chủ Đề