Home  >  Article  >  php教程  >  Web开发者必备的10个救命的PHP代码片段

Web开发者必备的10个救命的PHP代码片段

WBOY
WBOYOriginal
2016-06-13 11:14:171404browse

 

[代码] 关键词高亮


  1. <span><span class="keyword">function</span><span> highlight(</span><span class="vars">$sString</span><span>, </span><span class="vars">$aWords</span><span>) {  </span></span>
  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''$1'$sString);  

[代码] 获取你的Feedburner的用户


  1. <span><span class="keyword">function</span><span> get_average_readers(</span><span class="vars">$feed_id</span><span>,</span><span class="vars">$interval</span><span> = 7){  </span></span>
  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. <span><span class="keyword">function</span><span> generatePassword(</span><span class="vars">$length</span><span>=9, </span><span class="vars">$strength</span><span>=0) {  </span></span>
  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. <span><span>header(</span><span class="string">'Content-type: text/css'</span><span>);  </span></span>
  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("rn""r""n""t"'  ''    ''    '), ''$buffer);  
  8.   return $buffer;  
  9. }  
  10.  
  11. /* your css files */ 
  12. include('master.css');  
  13. include('typography.css');  
  14. include('grid.css');  
  15. include('print.css');  
  16. include('handheld.css');  
  17.  
  18. ob_end_flush(); 

[代码] 获取短网址


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

[代码] 根据生日计算年龄


  1. <span><span class="keyword">function</span><span> age(</span><span class="vars">$date</span><span>){  </span></span>
  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 $month_diff $year_diff–;  
  14.  
  15.     return $year_diff;  

[代码] 计算执行时间


  1. <span><span class="comment">//Create a variable for start time </span><span> </span></span>
  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. <span><span class="keyword">function</span><span> maintenance(</span><span class="vars">$mode</span><span> = FALSE){  </span></span>
  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. <span><span><link span="">
    <span class="string">"/stylesheet.css?<!--?php echo time(); ?-->"</span><span> rel=</span><span class="string">"stylesheet"</span><span> type=</span><span class="string">"text/css"</span><span> /&glt; </span> href=</span></span>

[代码] 为数字增加 stndrd 等


  1. <span><span class="keyword">function</span><span> make_ranked(</span><span class="vars">$rank</span><span>) {  </span></span>
  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;  

 

 href=
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn