logo

  • Hỏi Đáp
  • Kiến Thức
  • Sức Khỏe
  • Tử Vi
  • Công Nghệ
No Result
View All Result
logo
No Result
View All Result
Trang chủ hàm preg_match_all trong php

Hàm preg_match_all trong php

by Admin _ September 15, 2022

Hàm preg_match dùng làm lấy hiệu quả theo biểu thức RegEx mà lại nó chỉ đem đúng một hiệu quả duy nhất. Ví dụ bạn muốn lấy chuỗi "darkedeneurope.com" vào chuỗi "darkedeneurope.com với darkedeneurope.com với darkedeneurope.com" thì nó chỉ trả về đúng một quý giá "darkedeneurope.com". Vậy để đưa hết tất cả ba chữ thì yêu cầu làm cố gắng nào? Ta sẻ áp dụng hàm preg_match_all.

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

*


*

1. Hàm preg_match_all trong PHP

Hàm preg_match_all cũng có chức năng giống như preg_match đó là so khớp cùng trả về tác dụng của câu hỏi so khớp đó. Tuy vậy vẫn bao gồm sự biệt lập đó là:

preg_match chỉ chỉ trả về một kết quả cho từng regex con.preg_match_all đã trả về hết tác dụng so khớp chứ chưa phải là tác dụng đầu tiên như preg_match.

Ví dụ: mang đoạn chuỗi bên phía trong cặp nháy kép của chuỗi "xin xin chào "các bạn", mừng đón đến "darkedeneurope.com"".

Sử dụng hàm preg_match:

Trong ví dụ này còn có hai chuỗi nằm trong cặp nháy kép chính là chuỗi "các bạn" cùng chuỗi "darkedeneurope.com". Bây chừ ta thực hiện hàm preg_match để mang xem công dụng thế nào.

Bài viết này được đăng trên


$subject = "Hello "Everybody", welcome lớn "darkedeneurope.com"";preg_match("/"(.+)"/", $subject, $matches);echo "";print_r($matches);echo "";
Mục đích của ta chỉ lấy đoạn text phía bên trong cặp nháy kép, nhưng lại nó trả về nhiều năm quá :D. Tại sao là nó chú ý từ dấu nháy đầu chuỗi cho đến cuối chuỗi nên hiệu quả mới như vậy, đây hotline là hiện tượng Greedy mà họ đã học tập ở bài các quy tắc Regular Expression căn bản. Vậy để đưa đoạn text trong cặp lốt nháy thứ nhất thì ta đề xuất thêm lốt ? đằng sâu vệt + của chuỗi partern trên, có ý nghĩa là lấy tác dụng match thứ nhất (chống greedy).


$subject = "Hello "Everybody", welcome to lớn "darkedeneurope.com"";preg_match("/"(.+?)"/", $subject, $matches);echo "";print_r($matches);echo "";

Sử dụng hàm preg_match_all:

Như vậy các bạn thấy preg_match chỉ mang được một tác dụng duy nhất. Gồm cách nào rước hết kết quả không? Để vấn đáp ta tò mò hàm preg_match_all nhé.

Xem thêm: Xuống 2 Dòng Trong Html Bằng Thẻ Br, Xuống Dòng Trong Html Line Break

Cú pháp: preg_match_all ($pattern, $subject, &$matches)Trong đó:$partern là biểu thức Regular Expression$subject là chuỗi mong kiểm tra&$matches là biến chuyển lưu kết quả sau lúc match

Như sinh sống ví dụ trên, có nghĩa là lấy toàn bộ các chuỗi bên trong cặp nháy kép của chuỗi "xin chào "các bạn", mừng đón đến "darkedeneurope.com"".


$subject = "Hello "Everybody", welcome to lớn "darkedeneurope.com"";preg_match_all("/"(.+?)"/", $subject, $matches);echo "";print_r($matches);echo "";

Array( <0> => Array ( <0> => "Everybody" <1> => "darkedeneurope.com" ) <1> => Array ( <0> => Everybody <1> => darkedeneurope.com ))
Kết trái nó trả về một mảng gồm 2 thành phần và giá trị của mỗi phần tử giống như hàm tác dụng của hàm preg_match bắt buộc mình không lý giải thêm về phần này nhé.

Giờ bạn biến hóa chuỗi $subject = "Hello "Everybody", welcome to "darkedeneurope.com", thanks for "like it"". Chúng ta chạy và kết quả sẽ là:


Array( <0> => Array ( <0> => "Everybody" <1> => "darkedeneurope.com" <2> => "like it" ) <1> => Array ( <0> => Everybody <1> => darkedeneurope.com <2> => lượt thích it ))
Rất dễ dàng đúng không nào. Bây chừ lấy hiệu quả thì tất cả 2 lựa chọn:

Nếu lấy tất cả dấu ngoặc thì chọn bộ phận thứ nhấtNếu lấy không tồn tại dấu ngoặc thì chọn thành phần thứ 2

Giải thích tại sao lại tất cả 2 bộ phận thì như bài xích trước, phần tử thứ duy nhất là toàn chuỗi toàn partern, phần tử thứ 2 là tác dụng của đoạn RegEx (.+?).

2. Ví dụ như hàm preg_match_all vào PHP

Mình sẽ chỉ dẫn một ví dụ như để chúng ta thực hành như sau: Lấy tất cả nội dung bên phía trong tất cả thẻ div của một tệp tin html.

Ta gồm hai sự việc cần quan tâm:

Để lấy tất cả các đoạn text trong tất cả thẻ div thì ta phải dùng đến hàm preg_match_all trong php.Đoạn $pattern sẽ sở hữu dạng $pattern = "/
(.*?)/". Lưu ý phải gồm dấu ? nha bạn, vì có dấu ? thì máy đang hiểu là đem từng hiệu quả chứ không phải duyệt không còn chuỗi rồi rước (gọi là Greedy, bạn quay trở về bài trước giúp thấy phần này nhé).


array(2) <0>=> array(3) <0>=> string(15) "Div1" <1>=> string(15) "Div2" <2>=> string(15) "Div3" <1>=> array(3) <0>=> string(4) "Div1" <1>=> string(4) "Div2" <2>=> string(4) "Div3"

3. Lời kết

Như vậy để đưa tất cả kết quả thì ta thực hiện hàm preg_match_all và chỉ còn lấy một công dụng đầu tiên thì ta thực hiện hàm preg_match. Thực tế thì bạn sử dụng hàm preg_match_all để sửa chữa thay thế cho hàm preg_match cũng được bằng cách lấy phần tử đầu tiên, tuy nhiên cách này rất xộc xệch nên tùy theo trường phù hợp mà áp dụng cho vừa lòng lý.


Danh sách file cài đặt về

tên file mua về Pass bung file
Tải bài học kinh nghiệm định dạng PDF darkedeneurope.com hoặc gameportable.net

Share Tweet Linkedin Pinterest
Previous Post

Javascript alert

Next Post

Ép kiểu date trong php

CÙNG CHUYÊN MỤC

fantastic blog (cms) in php with source code

Fantastic blog (cms) in php with source code

28/04/2021
php shopping cart tutorial using sessions

Php shopping cart tutorial using sessions

28/04/2021
các câu hỏi phỏng vấn php laravel

Các câu hỏi phỏng vấn php laravel

28/04/2021
lập trình php trên visual studio

Lập trình php trên visual studio

28/04/2021
installing apache php mysql on ubuntu 18

Installing apache php mysql on ubuntu 18

20/01/2023
tính kế thừa trong oop php

Tính kế thừa trong oop php

20/01/2023
how to check if a string contains a specific word in php

How to check if a string contains a specific word in php

16/01/2023
virtualmin centos with multiple php

Virtualmin centos with multiple php

16/01/2023

Newsletter

The most important automotive news and events of the day

We won't spam you. Pinky swear.

Chuyên Mục

  • Hỏi Đáp
  • Kiến Thức
  • Sức Khỏe
  • Tử Vi
  • Công Nghệ

News Post

  • Kem dưỡng ẩm da mặt loại nào tốt

About

Chúng tôi tạo ra trang web nhằm mục đích mang lại kiến thức bổ ích cho cộng đồng, các bài viết được sưu tầm từ nhiều nguồn trên internet giúp mang lại kiến thức khách quan dành cho bạn

©2023 darkedeneurope.com - Website WordPress vì mục đích cộng đồng

Liên Hệ - Giới Thiệu - Nội Quy - Bảo Mật

No Result
View All Result
  • Trang chủ
  • Chuyên mục
    • Hỏi Đáp
    • Kiến Thức
    • Sức Khỏe
    • Tử Vi
    • Công Nghệ
  • Lưu trữ
  • Liên hệ

© 2023 darkedeneurope.com - Website WordPress vì mục đích cộng đồng.