Bài giảng Lập trình Web - Bài 4.3: Biểu thức chính qui (Regular Expression)

Biểu thức chính qui  
Regular Expression  
Biểu thức chính qui  
Biểu thức chính qui (hay biểu thức quy  
tắc) là mẫu chuỗi dùng để so khớp, kiểm  
tra các chuỗi khác  
Php hỗ trợ các hàm  
. preg_match  
. preg_replace tìm kiếm, thay thế  
. preg_split tách chuỗi  
kiểm tra, so khớp  
2
Biểu thức chính qui  
Hàm preg_match($rule, $str, $result)  
. $rule là chuỗi RE do ta quy định  
. $str là chuỗi cần so sánh  
. $result là kết quả trả về  
Hàm preg_replace($pattern,  
$replacement, $subject)  
. $partern: là chuỗi RE  
. $replacement: là chuỗi thay thế  
. $subject: là chuỗi muốn duyệt  
Hàm preg_split($pattern, $string)  
Biểu thức chính qui  
Tìm những từ bắt đầu là A, sau đó là 2 ký tự  
a-z  
$string="Anh thương em anh đi đâu đâu";  
$pattern="/A[a-z][a-z]/";  
preg_match($pattern, $string, $match);  
echo $match[0];  
4
Biểu thức chính qui  
Tìm thay từ cháu thành bé  
$partern = "/cháu/";  
$subject = "cháu lên ba, cháu đi mẫu giáo";  
$replacement = "bé";  
echo preg_replace($partern, $replacement,  
$subject);  
Biểu thức chính qui  
Tách chuỗi thành các chuỗi con  
$ip = "192.168.7.23";  
$iparr = preg_split("/\./", $ip);  
foreach($iparr as $t)  
echo $t . "<br>";  
Biểu thức chính qui  
Các ký tự đặc biệt trong RE  
. ^ : diễn tả vị trí bắt đầu của 1 chuỗi; “^Binh”  
. $ : diễn tả vị trí kết thúc của 1 chuỗi; “đinh$”  
. * : có nghĩa không hoặc nhiều ký tự; “ab*”  
. + : có nghĩa MỘT hoặc nhiều ký tự; “ab+”  
. ? : có nghĩa KHÔNG hoặc MỘT ký tự; “ab?”  
. {x}: có nghĩ là x ký tự; “ab{2}”  
. (): diễn tả 1 chuỗi ký tự; “a(bc)*”; “a(bc){1,5}”  
. | : giống toán tử OR  
. . : diễn tả 1 ký tự bất kỳ  
. []: diễn tả tập hợp các ký tụ  
7
Tìm kiếm với php  
Thông thường chúng ta có thể thực hiện việc  
tìm kiếm theo nhiều tiêu chí khác nhau  
Vd tìm sản phẩm theo từ khóa, hãng SX, từ  
giá – đến giá  
. Phần tạo form  
Lấy dữ liệu từ db đưa vào select box hãng  
Dùng Jquery+Ajax lấy DS SP theo  
hãng sx  
. Phần xử lý kết quả  
Viết code lấy dữ liệu từ db  
Viết code hiện kết quả  
9
Tìm kiếm  
Tìm tin theo từ khóa, loại tin và thời gian  
Tìm theo nhiều loại dữ liệu khác nhau  
Tìm kiếm toàn văn: thực hiện qua 2 bước  
. Index: build chỉ mục  
. Search: thực hiện tìm kiếm theo chỉ muc  
10  
Lập trình  
hướng đối tượng  
Lập trình hướng đối tượng  
Khai báo lớp  
class tên_lớp{  
// Danh sách các biến, hằng, lớp... (thuộc tính)  
// Danh sách các hàm (phương thức)  
}
Ví dụ  
<?php  
class SimpleClass{  
public $var = 'a default value';  
public function displayVar() {  
echo $this->var;  
}
}
?>  
12  
Lập trình hướng đối tượng  
Tạo đối tượng  
$a = new SimpleClass();  
$a-> displayVar();  
Các phương thức OOP  
. Đóng gói  
. Đa thừa kế  
. Overloading  
13  
Ví dụ về kết nối DataBase  
Định nghĩa lớp classDB.php  
<?php  
class db {  
public $conn = NULL;  
public $result = NULL;  
public $host="localhost";  
public $user="root";  
public $pass="";  
public $database="qltin";  
private $author="ABC";  
?>  
14  
function __construct(){  
$this->conn = mysql_connect($this->host,  
$this->user,  
$this->pass);  
mysql_select_db($this -> database, $this->conn);  
mysql_query("set names 'utf8'");  
}
function getdata($sql) {  
$this->result = mysql_query($sql);  
}
function fetchRow() {  
if (is_resource($this->result)==false)  
return false;  
$row = mysql_fetch_assoc($this->result);  
return $row;  
}
15  
Sử dụng attribute  
<?php  
require_once "classDB.php";  
$d = new db();  
echo "<p>user = {$d->user} </p>";  
echo "<p>author = {$d->author} </p>";  
echo "<p>version = {$d->version} </p>";  
?>  
Thực hiện câu query và hiển thị kết quả  
<?php  
require_once "classDB.php";  
$d = new db;  
$d->getdata("select * from tin where  
TinNoiBat=1");  
while ($row = $d->fetchRow() ) echo "<p>" ,  
$row['TieuDe'], "</p>";  
?>  
16  
HTACCESS  
HTACCESS và ứng dụng của nó  
Trong một website có thể chứa nhiều file  
.htaccess  
.htaccess là file text dùng để cấu hình hoạt  
động cho webserver Apache bằng nhiều lệnh  
khác nhau  
mod_Rwrite: thay đổi địa chỉ trang web từ một  
địa chỉ web động sang một địa chỉ web tĩnh  
thông qua các luật chuyển đổi  
VD địa chỉ thật /news/tinthethao.php?idLT=1 được  
thay bằng địa chỉ ảo /news/tinthethao  
RewriteEngine on | off bật tắt chức năng  
rewrite  
18  
HTACCESS và ứng dụng của nó  
RewriteRule: luật điều chỉnh địa chỉ thật  
thành địa chỉ ảo  
. Cú pháp RewriteRule pattern substitution [flags]  
pattern: regex  
substitution: địa chỉ gốc do client request  
flags: chỉ thị cách thức hoạt động  
[R]: force Redirect  
[F]: force ULR to be forbidden  
[L]: last rule (dùng lại ở rule này)  
[NC]: no case  
. VD: RewriteRule ^dangky/$ dk.php [L]  
19  
HTACCESS và ứng dụng của nó  
RewriteEngine on  
RewriteRule users/register/$ dangky.php [L]  
RewriteRule users/changepass/$ doipass.php [L]  
RewriteRule users/sendpass/$ goipass.php [L]  
RewriteRule users/logout/$ thoat.php [L]  
RewriteRule ^users/register/$ dangkythanhvien.php  
[L]  
RewriteRule ^users/changepass/$ doipass.php [L]  
RewriteRule ^users/sendpass/$ goipass.php [L]  
RewriteRule ^users/logout/$ thoat.php [L]  
20  
pdf 19 trang baolam 10/05/2022 3840
Bạn đang xem tài liệu "Bài giảng Lập trình Web - Bài 4.3: Biểu thức chính qui (Regular Expression)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_web_bai_4_3_bieu_thuc_chinh_qui_regular.pdf