Hàm preg_match[] được sử dụng để so khớp chuỗi với biểu thức chính quy. Hàm này tìm kiếm một mẫu trong chuỗi và trả về true nếu mẫu đó tồn tại, ngược lại trả về false
Ghi chú. Tìm kiếm mẫu theo mặc định bắt đầu từ đầu chuỗi chủ đề nhưng người dùng có thể bù tham số tùy chọn để chỉ định vị trí bắt đầu tìm kiếm
Biểu thức chính quy là gì?
Biểu thức chính quy là một chuỗi gồm một chuỗi văn bản đặc biệt mô tả các mẫu tìm kiếm. Nó sử dụng các toán tử số học như [+,-,^] để tạo biểu thức phức tạp
cú pháp
int preg_match[ $pattern, $input, $matches, $flags, $offset ]
Thông số
Hàm preg_match nhận 5 tham số.
Tham sốTypeDescription$patternChỉ định mẫu cần tìm kiếm dưới dạng chuỗi$inputChỉ định chuỗi đầu vào$matchesnếu tham số phù hợp được chỉ định, thì nó sẽ chứa đầy kết quả tìm kiếm.
$matches[0] sẽ chứa văn bản khớp với mẫu đầy đủ, $matches[1] sẽ có văn bản khớp với mẫu con được đặt trong ngoặc đơn đầu tiên, v.v.
$flagsTham số $flag có thể là sự kết hợp của các cờ sau
- PREG_OFFSET_CAPTURE
- PREG_UNMATCHED_AS_NULL
Giá trị trả về
Hàm preg_match[] này trả về 1 nếu mẫu khớp với chủ đề chuỗi đã cho, ngược lại trả về 0 hoặc FALSE nếu có lỗi xảy ra
Bộ tiền xử lý siêu văn bản là một công cụ mạnh mẽ để tạo các trang web động và tương tác. Nó miễn phí, hiệu quả và được sử dụng rộng rãi. Trong lĩnh vực phát triển web, nó đã trở thành điều bắt buộc đối với các chuyên gia. Vì là ngôn ngữ kịch bản phía máy chủ nên nó có thể quản lý nội dung động, theo dõi phiên, cơ sở dữ liệu và thậm chí cả các trang web thương mại điện tử. Nó có cú pháp tương tự như ngôn ngữ C và hỗ trợ một số lượng lớn các giao thức chính.
PHP cung cấp một số chức năng, giúp dễ dàng làm việc với một số kiểu dữ liệu và biểu thức. Trong bài viết này, chúng ta sẽ xem cách PHP xử lý các mẫu Regex bằng cách sử dụng preg_match.
Preg_match trong PHP là gì?
hàm preg_match trong PHP được sử dụng để tìm kiếm chuỗi cho một mẫu và trả về giá trị Boolean. Việc tìm kiếm thường bắt đầu từ ký tự đầu tiên của chuỗi. Tham số tùy chọn 'offset' được sử dụng để chỉ định vị trí bắt đầu tìm kiếm, tức là vị trí thay thế mà từ đó có thể bắt đầu tìm kiếm. Vì vậy, hàm preg_match trong PHP tìm kiếm sự trùng khớp trong chuỗi.
Tham số đầu vào tùy chọn, 'pattern_array', nếu được cung cấp, chứa nhiều phần khác nhau của mẫu phụ cần được đưa vào mẫu tìm kiếm. Ngoài ra, nếu cờ được chuyển thành 'PREG_OFFSET_CAPTURE', thì phần bù chuỗi được thêm vào cũng sẽ được trả về bất cứ khi nào khớp xảy ra. Chúng ta sẽ thấy điều này trong các ví dụ bên dưới, nhưng trước tiên, hãy xem cú pháp.
Cú pháp của preg_match trong PHP
Cú pháp của hàm là
preg_match[mẫu, đầu vào, khớp, cờ, bù]
Quá trình tìm kiếm sẽ bắt đầu từ việc bắt đầu tham số chuỗi đầu vào trừ khi được chỉ định bằng tham số offset tùy chọn.
Giá trị trả về. Hàm trả về true nếu mẫu khớp. Nếu không, hàm có thể trả về false. preg_match trong PHP cũng có thể trả về giá trị không phải Boolean, nếu nó được đánh giá là sai.
Nổi bật so với các đồng nghiệp của bạn trong mùa đánh giá này
Bắt đầu học với các khóa học MIỄN PHÍ của chúng tôi Đăng ký ngayGiá trị tham số và trường hợp sử dụng
preg_match trong PHP có năm tham số. Tất cả chúng được xác định dưới đây
- pattern- Tham số này có mẫu cần tìm trong chuỗi.
- input- Tham số này có chuỗi cần tìm kiếm
- trận đấu- Nếu có trận đấu, tham số này chứa kết quả tìm kiếm.
- $matches[0] chứa văn bản phù hợp với mẫu đầy đủ;
- $matches[1] chứa văn bản khớp với mẫu con được đặt trong ngoặc đơn được công nhận đầu tiên tiếp tục.
- cờ- Tham số cờ có thể chứa một trong hai cờ
- PREG_UNMATCHED_AS_NULL. Khi cờ này được thông qua, các mẫu con không khớp sẽ được báo cáo là NULL, trong khi các mẫu con khác được báo cáo trống
- PREG_OFFSET_CAPTURE. Khi cờ này được thông qua, phần bù chuỗi nối thêm sẽ được trả về cho mỗi trận đấu.
- offset- Như đã đề cập trước đó, tham số này chỉ định vị trí [tính bằng byte] từ nơi cần bắt đầu tìm kiếm. Nếu không được chỉ định, tìm kiếm theo mặc định sẽ bắt đầu từ đầu.
Các trường hợp sử dụng tham số
Hãy cho chúng tôi xem một số ví dụ để hiểu việc sử dụng mọi tham số
1. Sử dụng biểu thức chính quy để thực hiện tìm kiếm phân biệt chữ hoa chữ thường trong chuỗi đã cho
đầu ra
2. Sử dụng PREG_OFFSET_CAPTURE để tìm vị trí của chuỗi nơi tìm thấy kết quả khớp
đầu ra
Ở đây, 14 là vị trí mà mẫu được tìm thấy trong chuỗi chính.
Khóa học Full Stack Web Developer
Để trở thành chuyên gia về MEAN Stack Xem khóa học3. Chúng ta sẽ xem cách chúng ta có thể sử dụng từ ranh giới [\b] trong mẫu. Biểu thức này sẽ trả về true cho các từ cụ thể như 'web' nhưng sai cho 'webinar' và 'core web' vì chúng không khớp một phần.
đầu ra
4. Hãy cho chúng tôi xem cách chúng tôi có thể lấy một tên miền ra khỏi URL
đầu ra
Ví dụ cụ thể này cho thấy việc sử dụng tham số 'matches'.
Ghi chú. Bạn không nên sử dụng preg_match trong PHP để chỉ kiểm tra một chuỗi con. Sử dụng strpos trong PHP cho điều đó.
Nâng cao sự nghiệp của bạn với tư cách là nhà phát triển MEAN stack với Nhà phát triển Web Full Stack - Chương trình Thạc sĩ MEAN Stack. đăng ký ngay bây giờ
Làm chủ PHP ngay hôm nay
Trong hướng dẫn preg_match trong PHP này, chúng ta đã tìm hiểu mọi thứ về hàm preg_match, cách sử dụng và cú pháp của nó. Hàm này có thể được sử dụng để khớp các mẫu Regex khác nhau với một chuỗi
Chà, đó là về preg_match trong PHP. Tuy nhiên, nếu bạn muốn thực hiện bước tiếp theo và trở thành người nắm giữ tất cả các giao dịch, mục tiêu của bạn phải là thành thạo phát triển ngăn xếp đầy đủ. Và nếu bạn muốn tìm hiểu thêm về phát triển web và PHP, đừng quên xem chứng chỉ phát triển web toàn diện của Simplilearn
Đừng quên khám phá SkillUp- một nền tảng học tập miễn phí của Simplilearn. Nền tảng này cung cấp hơn 1000 giờ tự học với hơn 30 kỹ năng cần thiết để phát triển nghề nghiệp. Những người giỏi nhất trong ngành đã tạo ra nội dung khóa học và có thể giúp bạn mở rộng tầm cao mới trong công việc của mình
Giới thiệu về tác giả
Ravikiran A S làm việc với Simplilearn với tư cách là Nhà phân tích nghiên cứu. Anh ấy là một người đam mê nhiệt tình, luôn săn lùng những công nghệ mới nhất. Anh ấy thành thạo Ngôn ngữ lập trình Java, Dữ liệu lớn và các Khung dữ liệu lớn mạnh mẽ như Apache Hadoop và Apache Spark