《PHP教程:PHP几个实用自定义函数小结》要点:
本文介绍了PHP教程:PHP几个实用自定义函数小结,希望对您有用。如果有疑问,可以联系我们。
本文实例总结了PHP几个实用自定义函数.分享给大家供大家参考,具体如下:PHP实战
最近在看代码,发现以下是几个比较实用的函数.PHP实战
1、取客户端IPPHP实战
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是取不到的.PHP实战
2、字符串截取,支持中文PHP实战
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、多长时间前的时间函数,论坛,博客常用PHP实战
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、过滤部分标签PHP实战
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实战
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php常用函数与技巧总结》PHP实战
希望本文所述对大家PHP程序设计有所赞助.PHP实战
《PHP教程:PHP几个实用自定义函数小结》是否对您有启发,欢迎查看更多与《PHP教程:PHP几个实用自定义函数小结》相关教程,学精学透。维易PHP学院为您提供精彩教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/7633.html