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 相关文章推荐
PHP 高手之路(二)
Oct 09 PHP
理解和运用PHP中的多态性[译]
Aug 02 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 PHP
php去除字符串中空字符的常用方法小结
Mar 17 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 PHP
PHP文件后缀不强制为.php方法
Mar 31 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的开发框架的现状和展望
2007/03/16 PHP
openPNE常用方法分享
2011/11/29 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
php xhprof使用实例详解
2019/04/15 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
javascript Demo模态窗口
2009/12/06 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
Validform表单验证总结篇
2016/10/31 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
使用axios实现上传图片进度条功能
2017/12/21 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
使用Python的判断语句模拟三目运算
2015/04/24 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
Python 多核并行计算的示例代码
2017/11/07 Python
python创建文件备份的脚本
2018/09/11 Python
python os模块简单应用示例
2019/05/23 Python
python中自带的三个装饰器的实现
2019/11/08 Python
财政专业求职信范文
2014/02/19 职场文书
大学生社会实践评语
2014/04/25 职场文书
优秀班主任申报材料
2014/12/16 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
理解python中装饰器的作用
2021/07/21 Python
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis