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中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
PHP在线生成二维码代码(google api)
Jun 03 PHP
php之CodeIgniter学习笔记
Jun 17 PHP
深入file_get_contents函数抓取内容失败的原因分析
Jun 25 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
thinkphp常见路径用法分析
Dec 02 PHP
php实现用于删除整个目录的递归函数
Mar 16 PHP
PHP sleep()函数, usleep()函数
Aug 25 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 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从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
简单的js分页脚本
2009/05/21 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
jQuery中$.each()函数的用法引申实例
2016/05/12 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
vue.js项目打包上线的图文教程
2017/11/16 Javascript
详解Node.js模板引擎Jade入门
2018/01/19 Javascript
angular4 JavaScript内存溢出问题
2018/03/06 Javascript
小程序实现多列选择器
2019/02/15 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
Python字典的核心底层原理讲解
2019/01/24 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
业务经理岗位职责
2013/11/11 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
公司开会通知
2015/04/20 职场文书
少先队工作总结2015
2015/05/13 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python