相思资源网 Design By www.200059.com
本文实例总结了PHP几个实用自定义函数。分享给大家供大家参考,具体如下:
最近在看代码,发现以下是几个比较实用的函数。
1、取客户端IP
function getOnlineIp() {
$strOnlineIp = "";
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$onlineip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$onlineip = $_SERVER['REMOTE_ADDR'];
}
preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
$strOnlineIp = $onlineipmatches[0] "htmlcode">
function getStrTruncate($string, $length = 80, $etc = ''){
if ($length == 0) return '';
mb_internal_encoding("UTF-8");
$string = str_replace("\n","",$string);
$strlen = mb_strwidth($string);
if ($strlen > $length) {
$etclen = mb_strwidth($etc);
$length = $length - $etclen;
$str=''; $n = 0;
for($i=0; $i<$length; $i++) {
$c = mb_substr($string, $i, 1);
$n += mb_strwidth($c);
if ($n>$length) { break; }
$str .= $c;
}
return $str.$etc;
} else {
return $string;
}
}
echo getStrTruncate("海底苍鹰博客",7); //结果是海底苍,utf8一个汉字对应二个字符
3、多长时间前的时间函数,论坛,博客常用
function timeFromNow($dateline) {
if(emptyempty($dateline)) return false;
$seconds = time() - $dateline;
if ($seconds < 60){
return "1分钟前";
}elseif($seconds < 3600){
return floor($seconds/60)."分钟前";
}elseif($seconds < 24*3600){
return floor($seconds/3600)."小时前";
}elseif($seconds < 48*3600){
return date("昨天 H:i", $dateline)."";
}else{
return date('Y-m-d', $dateline);
}
}
echo timeFromNow(strtotime("2012-07-07 14:15:13")); //昨天 14:15
echo timeFromNow(strtotime("2012-07-08 14:15:13")); //1小前
4、过滤部分标签
function delTags($str)
{
$farr = array(
"/<(\/",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU"
);
$tarr = array(
"",
""
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
$str = "<a href='#'>asdfasdfsd</a>====<script>alert(1111)</script>";
echo delTags($str); //结果:<a href='#'>asdfasdfsd</a>====alert(1111)
echo strip_tags($str); //结果:sdfasdfsd====alert(1111)
如果要过滤所有标签strip_tags就够用了。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php常用函数与技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
标签:
PHP,自定义函数
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无PHP几个实用自定义函数小结的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。