Twitter Delicious Facebook Digg Stumbleupon Favorites More

Thứ Năm

Cách dùng hàm ereg, preg trong php

Cách sử dụng:+ Vì những lý do ở trên, mình đề nghị bạn nên chuyển sang dùng  nhóm hàm preg_… luôn.
+ Sau đây là một số hàm thuộc nhóm preg_…:
preg_match() – Perform a regular expression match (so sánh)
preg_replace() – Perform a regular expression search and replace  (tìm kiếm và thay thế)
preg_split() – Split string by a regular expression (tìm kiếm và cắt bỏ)
preg_last_error() – Returns the error code of the last PCRE regex execution
preg_match_all() – Perform a global regular expression match
Như vậy vấn đề sử dụng các hàm như thế nào, thì bạn xem trên: http://www.php.net , Tiếp theo,  mình sẽ bàn thêm cách viết các biểu thức định dạng như thế nào? Tức là: nếu viết bằng văn thì là: “4 con số đứng liền nhau, rồi đến dấu – , rồi đến 2 chữ số, rồi đến dấu -, rồi đến 2 chữ số nữa” nhưng viết cho php hiểu thì viết như thế nào?
C. Một số lưu ý khi viết chuổi định dạng:
+ Dùng cặp dấu /../ để bắt đầu và kết thúc chuổi định dạng.
<?php
if (preg_match(“/php/”, “PHP is the web scripting language of choice.”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Kiểm tra xem có tồn tại chuổi “php” không? Kết quả là không. Vì trong  chuổi mẹ chỉ có chử PHP (viết hoa) thôi.
+ Để chỉ định không phân biết chữ hoa hay chữ thường ta dùng kí hiệu i.
<?php
if (preg_match(“/php/i”, “PHP is the web scripting language of choice.”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Kết quả là có tồn tại.
+ Dấu ^ để qui định chuổi định dạng nằm ở vị trí đầu tiên của chuổi mẹ.
<?php
if (preg_match(“/^php/i”, “Content PHP is the web scripting language of choice.”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Kết quả là ko tìm thấy. Vì chử php không nằm ở vị trí đầu tiên
+ Dầu $ qui định chuổi định dạng nằm ở  vị trí cuối cùng của chuổi mẹ.
<?php
if (preg_match(“/php$/i”, “PHP is the web scripting language of choice. And I choice PHP”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Kết quả là tim thấy. vì  có chữ PHP  ở cuối chuổi mẹ.
+ Dấu \s để qui định khỏang  trắng
<?php
if (preg_match(“/php(\s)pro/i”, “PHP pro is the web scripting language of choice”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Tìm chuổi php pro (có khỏang trắng ở giữa chữ php và chữ pro). Kết quả là có tồn tại
+ Dấu ? để qui định: không tồn tại, hoặc nếu tồn tại thì chỉ có 1  thôi
<?php
if (preg_match(“/php(\s)?pro/i”, “PHPpro is the web scripting language of choice. And I choice PHP”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Tìm chuổi phppro hoặc php pro. Kết quả là tồn tại.
+ Dấu * để qui định: không tồn tại, hoặc nếu có thì có thể có nhiều
<?php
if (preg_match(“/php(\s)*pro/i”, “PHP            pro is the web scripting language of choice. And I choice PHP”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Tìm chuổi phppro hoặc php pro (ở giữa có thể có nhiều khoảng trắng). Kết quả là tồn tại.
+ Dấu + để qui định: phải tồn tại từ 1 trở lên.
<?php
if (preg_match(“/php(\s)+pro/i”, “PHPpro is the web scripting language of choice. And I choice PHP”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Tìm chuổi php pro (ở giữa phải có từ 1 khoảng trắng trở lên). Kết quả là không tồn tại.
+ Cặp dấu [] để liệt kê
<?php
if (preg_match(“/[_,]php/i”, “_PHP is the web scripting language of choice”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Tìm chuổi “_php” hoặc “,php” . Kết quả là tồn tại
+ A-Z, a-z , A-z  qui định một kí tự viết hoa, viết thường, tất cả. Phải đi kèm với  dấu []
<?php
if (preg_match(“/[a-z]php/i”, “aPHP is the web scripting language of choice”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Kết quả là tồn tại
+ 0-9 qui định một kí số
<?php
if (preg_match(“/[0-9]php/i”, “_PHP is the web scripting language of choice”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Kết quả ko tồn tại
+ [A-z0-9]: một kí tự họăc một kí số
<?php
if (preg_match(“/[A-z0-9]php/i”, “aPHP is the web scripting language of choice”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Kết quả là tồn tại
+ {} qui định số lượng
<?php
if (preg_match(“/[a-z]{2,5}php/i”, “aPHP is the web scripting language of choice”)) {
    echo “A match was found.”;
} else {
    echo “A match was not found.”;
}
?>
==> Tìm chuổi mà có từ 2 đến 5 kí tự rồi đến chữ php. Kết quả ko tồn tại. Vì aPHP phía trước chữ PHP chỉ có một kí tự
Còn rất nhiều, bạn có thể xem chi tiết tại:

0 nhận xét:

Đăng nhận xét

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates