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 相关文章推荐
adodb与adodb_lite之比较
Dec 31 PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
用PHP实现图象锐化代码
Jun 14 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
PHP 5.0对象模型深度探索之属性和方法
Mar 27 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
php中随机显示图片的函数代码
Jun 23 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
Nov 07 PHP
YII模块实现绑定二级域名的方法
Jul 09 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
mysql desc(DESCRIBE)命令实例讲解
Sep 24 PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 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+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
[01:29]Ti4循环赛第三日精彩回顾
2014/07/13 DOTA
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python写入中英文字符串到文件的方法
2015/05/06 Python
在Django中同时使用多个配置文件的方法
2015/07/22 Python
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
不可错过的十本Python好书
2017/07/06 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
建筑设计师岗位职责
2013/11/18 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
主管竞聘书范文
2014/03/31 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫