Web開(kāi)發(fā)者必備的10個(gè)救命的PHP代碼片段
作者:紅薯 
  這些代碼在Web開(kāi)發(fā)經(jīng)常會(huì)用到,關(guān)鍵時(shí)候救命!
 [代碼] 關(guān)鍵詞高亮
- 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);
 - }
 
[代碼] 自動(dòng)生成密碼
- 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;
 - }
 
[代碼] 壓縮多個(gè)CSS文件
- header('Content-type: text/css');
 - ob_start("compress");
 - function compress($buffer) {
 - /* remove comments */
 - $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
 - /* remove tabs, spaces, newlines, etc. */
 - $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
 - return $buffer;
 - }
 - /* your css files */
 - include('master.css');
 - include('typography.css');
 - include('grid.css');
 - include('print.css');
 - include('handheld.css');
 - ob_end_flush();
 
[代碼] 獲取短網(wǎng)址
- function getTinyUrl($url) {
 - return file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
 - }
 
[代碼] 根據(jù)生日計(jì)算年齡
- 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;
 - }
 
[代碼] 計(jì)算執(zhí)行時(shí)間
- //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的維護(hù)模式
- 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;
 
[代碼] 為數(shù)字增加 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;
 - }
 
原文:http://www.oschina.net/code/snippet_12_6024
【編輯推薦】
責(zé)任編輯:陳貽新 
                    來(lái)源:
                    開(kāi)源中國(guó)社區(qū)
 














 
 
 







 
 
 
 