PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP基础 >> 基础文章 >> 

10 个救命的 PHP 代码片段

10 个救命的 PHP 代码片段

来源:phperz.com  作者:phperz.com  发布时间:2011-09-02
关键词高亮 view sourceprint?1 function highlight($sString, $aWords) { if (!is_array ($aWords) || empty ($aWords) || !is_string ($sString)) { return false; } $sWords = implode ('|', $aWords); return preg_replace ( '@b('.$sWords.')b@si' , 'strong st

关键词高亮
view sourceprint?1 function highlight($sString, $aWords) { 

if (!is_array ($aWords) || empty ($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的用户
view sourceprint?01 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); 

}

自动生成密码
view sourceprint?01 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文件
view sourceprint?01 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();

获取短网址
view sourceprint?1 function getTinyUrl($url) { 

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

}

根据生日计算年龄
view sourceprint?01 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; 

}

计算执行时间
view sourceprint?01 //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的维护模式
view sourceprint?01 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样式被缓存
view sourceprint?1 <link href="/stylesheet.css?<?php echo time(); ?>" rel="stylesheet" type="text/css" /&glt;

为数字增加 st\nd\rd 等
view sourceprint?01 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; 

}


延伸阅读:
几个PHP小游戏编程示例代码
php zip文件解压类代码
从PHP代码分析PHP 的GC(垃圾回收) 机制
二十一个实用便利的PHP代码摘录
php 获取一个月第一天与最后一天的代码
php 中文和编码判断代码
PHP生成word文档代码
php去除html代码函数
PHP代码开发规范
PHP中伪造HTTP_REFERER代码
非常精妙的 PHP 递归调用 代码


Tags: php   代码片段  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号