您的位置 首页 php

PHP自定义函数的用法

本篇文章主要介绍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] ? $onlineipmatches[0] : ‘unknown’;

return $strOnlineIp;

}

这里,如果使用多级代理的用户,真实IP是取不到的。

2、字符串截取,支持中文

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(

“/<(\/?)(script|i?frame|style|html|body|title|link|meta|form|input|embed|object|textarea|\?|\%)([^>]*?)>/isU”,

“/(<[^>]*)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实现获取一定范围内取N个不重复的随机数的方法

PHP中上传文件的处理问题实例详解

php实现一段简单概率的方法

以上就是PHP自定义函数的用法的详细内容,更多请关注其它相关文章!

更多技巧请《转发 + 关注》哦!

文章来源:智云一二三科技

文章标题:PHP自定义函数的用法

文章地址:https://www.zhihuclub.com/77223.shtml

关于作者: 智云科技

热门文章

网站地图