Danh sách các hàm PHP thông dụng thường được dùng. Tổng hợp vào đây khi cần chỉ việc copy cho nhanh. Danh Sách: Hàm loại bỏ tiếng việt không dấu
Hàm loại bỏ tiếng việt có dấu, làm url không dấu, rewrite.. PHP: # connhagiau © dembuon.vnfunction remove_sign($txt) { $sign=array( "à","á","ạ","ả","ã","â","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ", "ặ","ẳ","ẵ","è","é","ẹ","ẻ","ẽ","ê","ề","ế","ệ","ể","ễ","ì","í","ị","ỉ","ĩ", "ò","ó","ọ","ỏ","õ","ô","ồ","ố","ộ","ổ","ỗ","ơ", "ờ","ớ","ợ","ở","ỡ", "ù","ú","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ", "ỳ","ý","ỵ","ỷ","ỹ", "đ", "À","Á","Ạ","Ả","Ã","Â","Ầ","Ấ","Ậ","Ẩ","Ẫ","Ă", "Ằ","Ắ","Ặ","Ẳ","Ẵ", "È","É","Ẹ","Ẻ","Ẽ","Ê","Ề","Ế","Ệ","Ể","Ễ", "Ì","Í","Ị","Ỉ","Ĩ", "Ò","Ó","Ọ","Ỏ","Õ","Ô","Ồ","Ố","Ộ","Ổ","Ỗ","Ơ", "Ờ","Ớ","Ợ","Ở","Ỡ", "Ù","Ú","Ụ","Ủ","Ũ","Ư","Ừ","Ứ","Ự","Ử","Ữ", "Ỳ","Ý","Ỵ","Ỷ","Ỹ", "Đ","ê","ù","à" ); $no_sign=array( "a","a","a","a","a","a","a","a","a","a","a", "a","a","a","a","a","a", "e","e","e","e","e","e","e","e","e","e","e", "i","i","i","i","i", "o","o","o","o","o","o","o","o","o","o","o","o", "o","o","o","o","o", "u","u","u","u","u","u","u","u","u","u","u", "y","y","y","y","y", "d", "A","A","A","A","A","A","A","A","A","A","A","A", "A","A","A","A","A", "E","E","E","E","E","E","E","E","E","E","E", "I","I","I","I","I", "O","O","O","O","O","O","O","O","O","O","O","O", "O","O","O","O","O", "U","U","U","U","U","U","U","U","U","U","U", "Y","Y","Y","Y","Y", "D","e","u","a" ); return str_replace($sign, $no_sign, $txt);}# Ví dụ:$txt = "Xin chào các bạn đến với diễn đàn dembuon.vn";echo remove_sign($txt);# Kết quả: Xin chao cac ban den voi dien dan dembuon.vn
Hàm cắt chuỗi văn bản chỉ lấy 1 đoạn - để làm các tin tức, tóm tắt 1 đoạn nội dung.. Ko lỗi với tiếng việt unicode, lấy được trọn vẹn từ, xử lý dấu cách. PHP: # connhagiau © dembuon.vnfunction limit_word($str,$len,$more){ if ($str=="" || $str==NULL) return $str; if (is_array($str)) return $str; $str = trim($str); if (strlen($str) <= $len) return $str; $str = substr($str,0,$len); if ($str != "") { if (!substr_count($str," ")) { if ($more) $str .= " ..."; return $str; } while(strlen($str) && ($str[strlen($str)-1] != " ")) { $str = substr($str,0,-1); } $str = substr($str,0,-1); if ($more) $str .= " ..."; } return $str;}# Các biến:# $str: đoạn văn bản, $len: số ký tự cần lấy, $more: có thêm đoạn "..." đằng sau hay không (nhận giá trị false và true);# Ví dụ:$txt = "Xin chào các bạn đến với diễn đàn dembuon.vn";echo limit_word($txt,30,true);# Kết quả: Xin chào các bạn đến ...
Hàm viết hoa ký tự đầu mỗi từ thay thế hàm ucwords không bị lỗi với tiếng việt PHP: function cng_ucwords($str) { $lwc = array( " a"," b"," c"," d"," e"," f"," g"," h"," i"," j"," k"," l"," m"," n"," o"," p"," q"," r"," s"," t"," u"," v", " w", " x", " y", " z", " à"," á"," ả"," ã"," ạ"," â"," ầ"," ấ"," ẩ"," ẫ"," ậ"," ă"," ằ"," ắ"," ẳ"," ẵ"," ặ", " è"," é"," ẻ"," ẽ"," ẹ"," ê"," ề"," ế"," ể"," ễ"," ệ", " ì"," í"," ỉ"," ĩ"," ị", " ò"," ó"," ỏ"," õ"," ọ"," ô"," ồ"," ố"," ổ"," ỗ"," ộ"," ơ"," ờ"," ớ"," ở"," ỡ"," ợ", " ù"," ú"," ủ"," ũ"," ụ"," ư"," ừ"," ứ"," ử"," ữ"," ự", " ỳ"," ý"," ỷ"," ỹ"," ỵ", " đ" ); $upc = array( " A"," B"," C"," D"," E"," F"," G"," H"," I"," J"," K"," L"," M"," N"," O"," P"," Q"," R"," S"," T"," U"," V", " W", " X", " Y", " Z", " À"," Á"," Ả"," Ã"," Ạ"," Â"," Ầ"," Ấ"," Ẩ"," Ẫ"," Ậ"," Ă"," Ằ"," Ắ"," Ẳ"," Ẵ"," Ặ", " È"," É"," Ẻ"," Ẽ"," Ẹ"," Ê"," Ề"," Ế"," Ể"," Ễ"," Ệ", " Ì"," Í"," Ỉ"," Ĩ"," Ị", " Ò"," Ó"," Ỏ"," Õ"," Ọ"," Ô"," Ồ"," Ố"," Ổ"," Ỗ"," Ộ"," Ơ"," Ờ"," Ớ"," Ở"," Ỡ"," Ợ", " Ù"," Ú"," Ủ"," Ũ"," Ụ"," Ư"," Ừ"," Ứ"," Ử"," Ữ"," Ự", " Ỳ"," Ý"," Ỷ"," Ỹ"," Ỵ", " Đ" ); $str = ' '.trim($str); return trim(str_replace($lwc,$upc,$str));}# Ví dụ:$txt = "Chào mừng các bạn đến với diễn đàn dembuon.vn";echo cng_ucwords($txt);# Kết quả:# Chào Mừng Các Bạn Đến Với Diễn Đàn Dembuon.vn
Hàm lấy tiêu đề 1 địa chỉ url PHP: # connhagiau © yeuhanam.vnfunction getTitle($url){ if( !($data = file_get_contents($url)) ) return false; if( preg_match("#<title>(.+)<\/title>#iU", $data, $t)) { return trim($t[1]); } else { return false; }}# Ví dụ:$url = "http://yeuhanam.vn/diendan/showthread.php?t=15864";echo getTitle($url);# Kết quả: Tổng hợp các hàm PHP thông dụng - Diễn Đàn Hà Nam Online Một số trường hợp dùng cách 1 sẽ báo lỗi chúng ta sử dụng thêm cách 2 (áp dụng được với tường lửa): PHP: # connhagiau © yeuhanam.vnfunction file_get_contents_curl($url){ $userAgent = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'; // Google User Agent $ch = curl_init(); curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_FAILONERROR, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_VERBOSE, false); $data = curl_exec($ch); curl_close($ch); return $data;}$url = 'http://yeuhanam.vn';$html = file_get_contents_curl($url);//parsing begins here:$doc = new DOMDocument();@$doc->loadHTML($html);$nodes = $doc->getElementsByTagName('title');//get and display what you need:$title = $nodes->item(0)->nodeValue;echo $title;
Hàm kiểm tra 1 chuỗi có phải là email hay không? PHP: # connhagiau © yeuhanam.vnfunction check_email($email) { if (strlen($email) == 0) return false; if (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) return true; return false;} Ví dụ: PHP: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?php# connhagiau © yeuhanam.vn #function check_email($email) { if (strlen($email) == 0) return false; if (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) return true; return false;}$true = "[email protected]";$false = "email.com";if(check_email($true)) echo $true." là email";else echo $true." không phải email";echo "<br />"; //Ký tự xuống dòngif(check_email($false)) echo $false." là email";else echo $false." không phải email";# Kết quả:# [email protected] là email# email.com không phải email?>
Hàm tính ngày tương lai là ngày mấy sau xx ngày? PHP: # connhagiau © yeuhanam.vnfunction date_after($a) { $hours = $a * 24; $added = ($hours * 3600) + time(); $days = date("l", $added); $month = date("F", $added); $day = date("j", $added); $year = date("Y", $added); $result = "$day $month $year - $days"; return ($result);}# Ví dụ: hôm nay là 19 December 2010, Sundayecho date_after("10");# Kết quả: 29 December 2010 - Wednesday (10 ngày sau)