10 个救命的 PHP代码片段

关键词高亮
    function highlight($sString, $aWords) { 
        if (!is_array ($aWords) || emptyempty ($aWords) || !is_string ($sString)) { 
            return false; 
        } 
     
        $sWords = implode ('|', $aWords); 
        return preg_replace ('@\b('.$sWords.')\b@si', '<strong style="background-color:yellow">$1</strong>', $sString); 
    } 


获取你的Feedburner的用户
    function get_average_readers($feed_id,$interval = 7){ 
        $today = date('Y-m-d', strtotime("now")); 
        $ago = date('Y-m-d', strtotime("-".$interval." days")); 
        $feed_url="https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$feed_id."&dates=".$ago.",".$today; 
        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt($ch, CURLOPT_URL, $feed_url); 
        $data = curl_exec($ch); 
        curl_close($ch); 
        $xml = new SimpleXMLElement($data); 
        $fb = $xml->feed->entry['circulation']; 
     
        $nb = 0; 
        foreach($xml->feed->children() as $circ){ 
            $nb += $circ['circulation']; 
        } 
     
        return round($nb/$interval); 
    } 

自动生成密码
    function generatePassword($length=9, $strength=0) { 
        $vowels = 'aeuy'; 
        $consonants = 'bdghjmnpqrstvz'; 
        if ($strength >= 1) { 
            $consonants .= 'BDGHJLMNPQRSTVWXZ'; 
        } 
        if ($strength >= 2) { 
            $vowels .= "AEUY"; 
        } 
        if ($strength >= 4) { 
            $consonants .= '23456789'; 
        } 
        if ($strength >= 8 ) { 
            $vowels .= '@#$%'; 
        } 
     
        $password = ''; 
        $alt = time() % 2; 
        for ($i = 0; $i < $length; $i++) { 
            if ($alt == 1) { 
                $password .= $consonants[(rand() % strlen($consonants))]; 
                $alt = 0; 
            } else { 
                $password .= $vowels[(rand() % strlen($vowels))]; 
                $alt = 1; 
            } 
        } 
        return $password; 
    } 

压缩多个CSS文件
    header('Content-type: text/css'); 
    ob_start("compress"); 
    function compress($buffer) { 
       
      $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer); 
       
      $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer); 
      return $buffer; 
    } 
     
     
    include('master.css'); 
    include('typography.css'); 
    include('grid.css'); 
    include('print.css'); 
    include('handheld.css'); 
     
    ob_end_flush(); 

获取短网址
    function getTinyUrl($url) { 
        return file_get_contents("http://tinyurl.com/api-create.php?url=".$url); 
    } 

根据生日计算年龄

    function age($date){ 
        $year_diff = ''; 
        $time = strtotime($date); 
        if(FALSE === $time){ 
            return ''; 
        } 
     
        $date = date('Y-m-d', $time); 
        list($year,$month,$day) = explode("-",$date); 
        $year_diff = date("Y") – $year; 
        $month_diff = date("m") – $month; 
        $day_diff = date("d") – $day; 
        if ($day_diff < 0 || $month_diff < 0) $year_diff–; 
     
        return $year_diff; 
    } 

计算执行时间
    //Create a variable for start time 
    $time_start = microtime(true); 
     
    // Place your PHP/HTML/JavaScript/CSS/Etc. Here 
     
    //Create a variable for end time 
    $time_end = microtime(true); 
    //Subtract the two times to get seconds 
    $time = $time_end - $time_start; 
     
    echo 'Script took '.$time.' seconds to execute'; 

PHP的维护模式
    function maintenance($mode = FALSE){ 
        if($mode){ 
            if(basename($_SERVER['SCRIPT_FILENAME']) != 'maintenance.php'){ 
                header("Location: http://example.com/maintenance.php"); 
                exit; 
            } 
        }else{ 
            if(basename($_SERVER['SCRIPT_FILENAME']) == 'maintenance.php'){ 
                header("Location: http://example.com/"); 
                exit; 
            } 
        } 
    } 

阻止CSS样式被缓存
    <link href="/stylesheet.css?<?php echo time(); ?>" rel="stylesheet" type="text/css" /&glt; 

为数字增加 st\nd\rd 等
    function make_ranked($rank) { 
        $last = substr( $rank, -1 ); 
        $seclast = substr( $rank, -2, -1 ); 
        if( $last > 3 || $last == 0 ) $ext = 'th'; 
        else if( $last == 3 ) $ext = 'rd'; 
        else if( $last == 2 ) $ext = 'nd'; 
        else $ext = 'st';  
     
        if( $last == 1 && $seclast == 1) $ext = 'th'; 
        if( $last == 2 && $seclast == 1) $ext = 'th'; 
        if( $last == 3 && $seclast == 1) $ext = 'th';  
     
        return $rank.$ext; 
    } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值