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
ThinkPHP采用模块和操作分析
Apr 18 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
基于PHP文件操作的详解
Jun 05 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
Jun 21 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 PHP
PHP生成加减算法方式的验证码实例
Mar 12 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 PHP
如何重写Laravel异常处理类详解
Dec 20 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中HTML标签过滤技巧
2014/01/07 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
php绘制一个扇形的方法
2015/01/24 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
jquery中EasyUI实现异步树
2015/03/01 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
python解决字典中的值是列表问题的方法
2013/03/04 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
幼儿园教师辞职信
2014/01/18 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
六查六看剖析材料
2014/10/06 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
电工实训心得体会
2016/01/14 职场文书
数学复习课教学反思
2016/02/18 职场文书
思想品德课教学反思
2016/02/24 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
Golang jwt身份认证
2022/04/20 Golang
mysql数据库如何转移到oracle
2022/12/24 MySQL