Đây là các đoạn code PHP thường dùng về Regular Expressions của các chuyên viên lập trình.
Như đã biết biểu thức chính quy (regular expressions – còn gọi là regex hoặc regexp) là các mẫu dùng để tìm kiếm các bộ kí tự được kết hợp với nhau trong các chuỗi kí tự.
Bạn có thể tham khảo thêm các bài viết liên quan:
- 15+ Regular Expressions thông dụng cho các chuyên viên phát triển PHP
- Các đoạn code Regular Expressions thường dùng của chuyên viên PHP (Phần 1)
- Các đoạn code Regular Expressions thường dùng của chuyên viên PHP (phần 2)
- Các đoạn code Regular Expressions thường dùng của chuyên viên PHP (phần 3)
Đây là các đoạn code thường được các lập trình viên sử dụng nhất:
Xóa ký tự đặc biệt khỏi chuỗi
PHP regex hữu dụng để loại bỏ các ký tự đặc biệt khỏi chuỗi.
$value = preg_replace("/[^A-Za-z0-9]/", "", $value);
Xác thực tên người dùng
Đây là tiện ích PHP regex để xác thực tên người dùng, bao gồm ký tự, ký số (a-z, A-Z, 0-9), dấu gạch dưới và có tối thiểu 5 ký tự và tối đa 20 ký tự. Bạn cũng có thể thay đổi ký tự tối thiểu và ký tự tối đa thành bất kỳ số nào bạn thích.
$username = "user_name12"; if ( preg_match('/^[a-z\d_]{5,20}$/i', $username) ) { echo "Your username is ok."; } else { echo "Wrong username format."; }
Tạo hình thu nhỏ (thumbnail) của YouTube
Tạo URL hình thu nhỏ của YouTube từ URL video YouTube.
function youtube_video_thumbnail($url, $index=0) { if ( preg_match('/^[^v]+v.(.{11}).*/', $url, $matches) ){ return 'http://img.youtube.com/vi/' . $matches[1] . '/' . $index . '.jpg'; } elseif ( preg_match('/youtube.com\/user\/(.*)\/(.*)$/', $url, $matches) ){ return 'http://img.youtube.com/vi/' . $matches[2] . '/' . $index . '.jpg'; } else { return false; } }
Thay thế một URL bằng tên miền của nó và tạo liên kết
preg_replace("/http:\/\/([^\/]+)[^\s]*/", "$1", $text);
Thêm thuộc tính Alt bị thiếu vào hình ảnh
Đây là một hàm PHP hữu ích. Nếu hình ảnh trong nội dung của bạn thiếu tag alt, đoạn code này sẽ thêm tiêu đề bài đăng làm tag alt cho hình ảnh.
function add_alt_tags($content) { global $post; preg_match_all('/<img (.*?)\/ >/', $content, $images); if( !is_null($images) ) { foreach($images[1] as $index => $value) { if( !preg_match('/alt=/', $value) ) { $new_img = str_replace('<img', '<img alt="'. get_the_title(). '"', $images[0][$index]); $content = str_replace($images[0][$index], $new_img, $content); } } } return $content; } add_filter('the_content', 'add_alt_tags', 99999);
Liên kết Mailto tự động
$string = preg_replace ('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4})', '<a href="mailto:\\1">\\1</ a>', $text); echo $string;
Kiểm duyệt những từ xấu với regex
Hàm này sử dụng sức mạnh của regex để kiểm tra xem trên văn bản có một số từ xấu nào đó hay không, hàm này cũng cung cấp khả năng thay đổi danh sách các từ cho một từ khác.
function filtrado($texto, $reemplazo = false) { $filtradas = 'ding, shit'; $f = explode(',', $filtradas); $f = array_map('trim', $f); $filtro = implode('|', $f); return ($reemplazo) ? preg_replace("#$filtro#i", $reemplazo, $texto) : preg_match("#$filtro#i", $texto) ; }