10个实用的PHP代码片段


Posted in PHP onSeptember 02, 2011

关键词高亮

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的用户
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) { 
/* 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();

获取短网址
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; 
}
PHP 相关文章推荐
用Simple Excel导出xls实现方法
Dec 06 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
如何使用微信公众平台开发模式实现多客服
Jan 06 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
Laravel最佳分割路由文件(routes.php)的方式
Aug 04 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
php+js实现点赞功能的示例详解
Aug 07 PHP
PHP文件操作实现代码分享
Sep 01 #PHP
深入探讨PHP中的内存管理问题
Aug 31 #PHP
php中使用Imagick实现图像直方图的实现代码
Aug 30 #PHP
PHP正确配置mysql(apache环境)
Aug 28 #PHP
PHP MySQL应用中使用XOR运算加密算法分享
Aug 28 #PHP
PHP 时间日期操作实战
Aug 26 #PHP
PHP url 加密解密函数代码
Aug 26 #PHP
You might like
php array_map()函数实例用法
2021/03/03 PHP
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
JQuery事件委托原理与用法实例分析
2019/05/13 jQuery
JavaScript计算出两个数的差值
2020/03/19 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
python实现websocket的客户端压力测试
2019/06/25 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
经济管理毕业生求职信
2014/03/15 职场文书
食品安全承诺书范文
2014/08/29 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
科技活动周标语
2014/10/08 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
电力培训学习心得体会
2016/01/11 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL