Hàm preg_replace trong php

     

Trong bài bác này bọn họ tò mò một hàm hơi giống cùng với hàm str_replace chính là hàm preg_replace.

Bạn đang xem: Hàm preg_replace trong php

1. Hàm preg_replace vào PHP

Hàm preg_replace dùng để làm replace một chuỗi nào đó khớp với đoạn Regular Expression truyền vào. Hàm này có công dụng tương tự như nhỏng str_replace tuy nhiên tất cả sự khác biệt là 1 trong mặt dùng regex một mặt ko sử dụng.

Cú pháp: preg_replace ( $pattern, $replacement, $subject)

Trong đó:

Bài viết được đăng tại nguyenminhchau.com

$partern: là chuỗi Regular Expression$replacement: là chuỗi replace thành$subject: là string mong lưu ý cùng replace

Kết quả trả về của hàm preg_replace là chuỗi đã được replace.

2. lấy một ví dụ hàm preg_relace trong PHP

ví dụ như 1: Replace chuỗi hi thành chuỗi hello trong chuỗi hi everytoàn thân, hi there


$partern = "/hi/";$subject = "hi everytoàn thân, hi there";$replacement = "hello";eđến preg_replace($partern, $replacement, $subject);

Kết trái xuất ra screen là chuỗi hello everybody toàn thân, hello there đã có replace

Ví dụ 2: Xóa thẻ h1 trong các chuỗi Welcome to lớn nguyenminhchau.com

Nhận xét: Ta thấy nhằm xóa thẻ h1 thì đang yêu cầu replace cho tất cả thẻ đóng góp và thẻ mlàm việc thành ký từ bỏ trống "". Ta sẽ có được 2 giải pháp giải pháp xử lý mang lại bài bác này.

Cách 1: Dùng tân oán tử OR trong Regular Expression, có nghĩa là đã chất vấn trường hợp là thẻ đóng hoặc thẻ mở thì sẽ ảnh hưởng replace thành cam kết từ bỏ trống. Chuỗi regex vẫn nlỗi sau $partern = "/()|()/". Tôi đang sử dụng vết mở cùng đóng () nhằm gộp 2 đội thẻ mlàm việc và thẻ đóng góp lại, luôn luôn có tác dụng như vậy nha chúng ta.


$partern = "/()|()/";$subject = "Welcome to nguyenminhchau.com";$replacement = "";emang đến preg_replace($partern, $replacement, $subject);

Các bạn chạy lên cùng cần sử dụng firebug soi đã thấy mất thẻ h1.

Cách 2: Dùng toán tử kiểm tra bao gồm hoặc không sẽ là vết ?. Quý khách hàng quay trở về bài bác trước giúp thấy những ví dụ và giải pháp cần sử dụng lốt này nhé.

Xem thêm: Link Download Driver Hp Laserjet P1102 Và Hướng Dẫn Cài Máy In Hp P1102

Các bạn thấy thẻ msinh sống và thẻ đóng chỉ khác nhau tại đoạn vết /. vì vậy chuỗi partern vẫn như sau $partern = "/()/". Vì vết / là ký kết từ quan trọng trong Regular Expression yêu cầu tôi đã thêm 1 vết để tại vị trước nó. Những vấn đề này tôi vẫn nói nghỉ ngơi bài trước rồi đề xuất các bạn trở lại coi nhé. Dấu ? là tất cả chân thành và ý nghĩa tất cả hoặc không tồn tại ký kết từ bỏ, Tức là hoặc


$partern = "/()/";$subject = "Welcome to nguyenminhchau.com";$replacement = "";emang đến preg_replace($partern, $replacement, $subject);

Chạy lên tác dụng tương đương như bí quyết 1.

ví dụ như 3: Dùng Regular Expression xóa tất cả hồ hết thẻ html (h1, h2, h3, h4, h5) của một đoạn text

Nếu không dùng hàm preg_replace kết hợp với Regular Expression thì trong php bao gồm cung cấp 1 hàm để xử trí sự việc này, chính là hàm strip_tags. Nhưng trong đề bài thử dùng dùng Regular Expresision buộc phải phải có tác dụng vậy thôi.

Ý tưởng: Ở ví dụ 2 ta vẫn xóa được một thẻ h1, điều này hy vọng xóa những thẻ không giống thì chỉ cần copy cùng thay đổi cực hiếm thẻ là được, phương pháp làm nlỗi sau:


$subject = "This is h1

This is h2

This is h3

This is h4
This is h5 ";// H1$subject = preg_replace("https://", "", $subject);// H2$subject = preg_replace("https://", "", $subject);// H3$subject = preg_replace("https://", "", $subject);// H4$subject = preg_replace("https://", "", $subject);// H5$subject = preg_replace("https://", "", $subject);emang lại $subject;

Nhưng các bạn thấy liệu bao gồm tốt không? tất cả giải pháp này để lấy vào trong 1 partern mà lại cách xử lý hết những thẻ luôn giỏi không? Câu vấn đáp là có nhé. Quý khách hàng kết hợp ví dụ 1 và ví dụ 2 lại sẽ sở hữu được được chuỗi partern ước muốn. Các bạn coi bài xích giải sau:


$subject = "This is h1

This is h2

This is h3

This is h4
This is h5 ";echo preg_replace("/()|()|()|()|()/", "", $subject);

Rất gọn gàng đúng không làm sao, chúng ta tìm hiểu thêm một cách giải nữa:


$subject = "This is h1

This is h2

This is h3

This is h4
This is h5 ";eđến preg_replace("https://", "", $subject);

Cách này tôi sử dụng tân oán tử OR cho các tiên phong hàng đầu hoặc 2 hoặc 3 hoặc 4 hoặc 5. Đây là biện pháp gọn gàng và về tối ưu nhất đúng không nhỉ làm sao.

3. Lời kết

Qua 3 ví dụ bên trên có lẽ rằng các bạn vẫn biết những sử dụng hàm preg_replace vào php kết hợp với Regular Expression rồi thất thoát. Có tương đối nhiều bài xích tân oán khác nhau với ứng dụng khác biệt nên chẳng thể quy ra một phương pháp thông thường được, các bạn nỗ lực nắm rõ những biểu thức Regular Expression để phối kết hợp là ok.

Bình luận vẫn đóng, trường hợp tất cả vướng mắc hãy đặt thắc mắc trên hoicode.com để admin vấn đáp.


*
Tải về tài nguim của nội dung bài viết này.


Bài sau Bài tiếp

DANH SÁCH BÀI HỌC


Danh sách chủ thể
MÃ GIẢM GIÁ
Unica 50% Lấy Mã
TinoHost 30% Lấy Mã
INET 30% Lấy Mã

Liên hệ


Mã bớt giá


Khóa học


Giới thiệu


Admin Cường, thống trị chính của trang web.

2020 - nguyenminhchau.com. All Right Reserved Theme GoodNews, căn cơ Codeigniter, VPS mua trên Tinohost
*


BÀI VIẾT


Nếu chúng ta phát hiện tại lỗi không nên link, văn bản không nên, hay một lỗi bất kì nào đó trên trang này thì nên cho khách hàng biết nhé. Cám ơn bạn!