Tổng Hợp Các Hàm PHP Thường Hay Sử Dụng

Discussion in 'Website' started by Admin, Dec 29, 2016.

  1. Admin Nothing to lose.. your love to win..

    Messages:
    4,107
    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
     
    ThiênDi likes this.
    Last edited: Jan 10, 2019
  2. Admin Nothing to lose.. your love to win..

    Messages:
    4,107
    Hàm loại bỏ tiếng việt có dấu, làm url không dấu, rewrite..

    PHP:
    # connhagiau © dembuon.vn

    function 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
     
  3. Admin Nothing to lose.. your love to win..

    Messages:
    4,107
    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.vn

    function 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 ...
     
  4. Admin Nothing to lose.. your love to win..

    Messages:
    4,107
    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
     
    Last edited: Mar 19, 2017
  5. Admin Nothing to lose.. your love to win..

    Messages:
    4,107
    Hàm lấy tiêu đề 1 địa chỉ url

    PHP:
    # connhagiau © yeuhanam.vn

    function 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.vn

    function 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($chCURLOPT_USERAGENT$userAgent);
        
    curl_setopt($chCURLOPT_URL,$url);
        
    curl_setopt($chCURLOPT_FAILONERRORtrue);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
        
    curl_setopt($chCURLOPT_AUTOREFERERtrue);
        
    curl_setopt($chCURLOPT_RETURNTRANSFER,true);
        
    curl_setopt($chCURLOPT_VERBOSEfalse);
       
        
    $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;

     
  6. Admin Nothing to lose.. your love to win..

    Messages:
    4,107
    Hàm kiểm tra 1 chuỗi có phải là email hay không?

    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;
    }

    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òng

    if(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

    ?>
     
  7. Admin Nothing to lose.. your love to win..

    Messages:
    4,107
    Hàm tính ngày tương lai là ngày mấy sau xx ngày?

    PHP:
    # connhagiau © yeuhanam.vn

    function 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, Sunday

    echo date_after("10");

    # Kết quả: 29 December 2010 - Wednesday (10 ngày sau)
     
Trả lời qua Facebook
Loading...