10 个有用的 PHP 代码片段

关键词高亮

 
 
  1. function highlight($sString$aWords) { 
  2.     if (!is_array ($aWords) || emptyempty ($aWords) || !is_string ($sString)) { 
  3.         return false; 
  4.     } 
  5.  
  6.     $sWords = implode ('|'$aWords); 
  7.     return preg_replace ('@\b('.$sWords.')\b@si''<strong style="background-color:yellow">$1</strong>'$sString); 

  获取你的Feedburner的用户

 
 
  1. function get_average_readers($feed_id,$interval = 7){ 
  2.     $today = date('Y-m-d'strtotime("now")); 
  3.     $ago = date('Y-m-d'strtotime("-".$interval." days")); 
  4.     $feed_url="https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$feed_id."&dates=".$ago.",".$today
  5.     $ch = curl_init(); 
  6.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  7.     curl_setopt($ch, CURLOPT_URL, $feed_url); 
  8.     $data = curl_exec($ch); 
  9.     curl_close($ch); 
  10.     $xml = new SimpleXMLElement($data); 
  11.     $fb = $xml->feed->entry['circulation']; 
  12.  
  13.     $nb = 0; 
  14.     foreach($xml->feed->children() as $circ){ 
  15.         $nb += $circ['circulation']; 
  16.     } 
  17.  
  18.     return round($nb/$interval); 

  自动生成密码

 
 
  1. function generatePassword($length=9, $strength=0) { 
  2.     $vowels = 'aeuy'
  3.     $consonants = 'bdghjmnpqrstvz'
  4.     if ($strength >= 1) { 
  5.         $consonants .= 'BDGHJLMNPQRSTVWXZ'
  6.     } 
  7.     if ($strength >= 2) { 
  8.         $vowels .= "AEUY"
  9.     } 
  10.     if ($strength >= 4) { 
  11.         $consonants .= '23456789'
  12.     } 
  13.     if ($strength >= 8 ) { 
  14.         $vowels .= '@#$%'
  15.     } 
  16.  
  17.     $password = ''
  18.     $alt = time() % 2; 
  19.     for ($i = 0; $i < $length$i++) { 
  20.         if ($alt == 1) { 
  21.             $password .= $consonants[(rand() % strlen($consonants))]; 
  22.             $alt = 0; 
  23.         } else { 
  24.             $password .= $vowels[(rand() % strlen($vowels))]; 
  25.             $alt = 1; 
  26.         } 
  27.     } 
  28.     return $password

  压缩多个CSS文件

 
 
  1. header('Content-type: text/css'); 
  2. ob_start("compress"); 
  3. function compress($buffer) { 
  4.   /* remove comments */ 
  5.   $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!'''$buffer); 
  6.   /* remove tabs, spaces, newlines, etc. */ 
  7.   $buffer = str_replace(array("\r\n""\r""\n""\t"'  ''    ''    '), ''$buffer); 
  8.   return $buffer
  9.  
  10. /* your css files */ 
  11. include('master.css'); 
  12. include('typography.css'); 
  13. include('grid.css'); 
  14. include('print.css'); 
  15. include('handheld.css'); 
  16.  
  17. ob_end_flush(); 

  获取短网址

 
 
  1. function getTinyUrl($url) { 
  2.     return file_get_contents("http://tinyurl.com/api-create.php?url=".$url); 

  根据生日计算年龄

 
 
  1. function age($date){ 
  2.     $year_diff = ''
  3.     $time = strtotime($date); 
  4.     if(FALSE === $time){ 
  5.         return ''
  6.     } 
  7.  
  8.     $date = date('Y-m-d'$time); 
  9.     list($year,$month,$day) = explode("-",$date); 
  10.     $year_diff = date("Y") – $year
  11.     $month_diff = date("m") – $month
  12.     $day_diff = date("d") – $day
  13.     if ($day_diff < 0 || $month_diff < 0) $year_diff–; 
  14.  
  15.     return $year_diff

  计算执行时间

 
 
  1. //Create a variable for start time 
  2. $time_start = microtime(true); 
  3.  
  4. // Place your PHP/HTML/JavaScript/CSS/Etc. Here 
  5.  
  6. //Create a variable for end time 
  7. $time_end = microtime(true); 
  8. //Subtract the two times to get seconds 
  9. $time = $time_end - $time_start
  10.  
  11. echo 'Script took '.$time.' seconds to execute'

  PHP的维护模式

 
 
  1. function maintenance($mode = FALSE){ 
  2.     if($mode){ 
  3.         if(basename($_SERVER['SCRIPT_FILENAME']) != 'maintenance.php'){ 
  4.             header("Location: http://example.com/maintenance.php"); 
  5.             exit
  6.         } 
  7.     }else
  8.         if(basename($_SERVER['SCRIPT_FILENAME']) == 'maintenance.php'){ 
  9.             header("Location: http://example.com/"); 
  10.             exit
  11.         } 
  12.     } 

  阻止CSS样式被缓存

 
 
  1. <link href="/stylesheet.css?<?php echo time(); ?>" rel="stylesheet" type="text/css" /&glt; 

  为数字增加 st\nd\rd 等

 
 
  1. function make_ranked($rank) { 
  2.     $last = substr$rank, -1 ); 
  3.     $seclast = substr$rank, -2, -1 ); 
  4.     if$last > 3 || $last == 0 ) $ext = 'th'
  5.     else if$last == 3 ) $ext = 'rd'
  6.     else if$last == 2 ) $ext = 'nd'
  7.     else $ext = 'st';  
  8.  
  9.     if$last == 1 && $seclast == 1) $ext = 'th'
  10.     if$last == 2 && $seclast == 1) $ext = 'th'
  11.     if$last == 3 && $seclast == 1) $ext = 'th';  
  12.  
  13.     return $rank.$ext
  14. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值