10 个救命的 PHP代码片段

来源:互联网 发布:python中try的用法 编辑:程序博客网 时间:2024/05/10 15:58
关键词高亮    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;     }