最近在看代码,发现以下是几个比较实用的函数。
1,取客户端IP
-
functiongetOnlineIp(){
-
$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,字符串截取,支持中文
-
functiongetStrTruncate($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;
-
}
-
}
-
-
echogetStrTruncate("海底苍鹰博客",7);
3,多长时间前的时间函数,论坛,博客常用
-
functiontimeFromNow($dateline){
-
if(emptyempty($dateline))returnfalse;
-
$seconds=time()-$dateline;
-
if($seconds<60){
-
return"1分钟前";
-
}elseif($seconds<3600){
-
returnfloor($seconds/60)."分钟前";
-
}elseif($seconds<24*3600){
-
returnfloor($seconds/3600)."小时前";
-
}elseif($seconds<48*3600){
-
returndate("昨天H:i",$dateline)."";
-
}else{
-
returndate('Y-m-d',$dateline);
-
}
-
}
-
-
echotimeFromNow(strtotime("2012-07-0714:15:13"));
-
echotimeFromNow(strtotime("2012-07-0814:15:13"));
4,过滤部分标签
-
functiondelTags($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="<ahref='#'>asdfasdfsd</a>====<script>alert(1111)</script>";
-
echodelTags($str);
-
echostrip_tags($str);
如果要过滤所有标签strip_tags就够用了。
分享到:
相关推荐
PHP读取文件前几个字节 判断文件类型函数 PHP连接ACCESS PHP采集程序中常用的函数 PHP随机产生指定长度中文字符串 SMTP类 url地址参数加密 一些常用验证函数 下拉-单选框选择 创建多级目录 删除数组中相同...
php关于文件的几个函数应用,有文件的打开,读写,关闭,任意生成临时文件等
内置了几个PHP常用的函数文档,非常实用查询常用的函数
学习PHP收集的几个有用函数 网上收集 但很实用。
本文实例总结了PHP几个实用自定义函数。分享给大家供大家参考,具体如下: 最近在看代码,发现以下是几个比较实用的函数。 1、取客户端IP function getOnlineIp() { $strOnlineIp = ""; if(getenv('...
PHP中几个常用的日期及时间格式转换及比较函数
php 产生随机几个字母的函数。可以用来进行身份验证以及发送给用户重置密码。欢迎下载。
php的配置函数就是几个ini_*的函数,主要是针对配置文件的操作,其实就四个函数:ini_get、ini_set、ini_get_all、ini_restore。本文详细介绍了这四个ini函数。
主要介绍了分享自定义的几个PHP功能函数,本文罗列的都是WEB开发中常用的一些功能函数,例如提交过滤、字符串截取、IP地址匿名化、隐藏文件真实路径等,需要的朋友可以参考下
本文给大家分享的是pink自己写的几个常用的PHP函数,包括截取字符串,CURL封装以及分类树函数,有需要的小伙伴可以参考下
速度测试函数 为了优化代码,我们需要一种可以测试代码运行...现在可以轻松地检查任何一段代码的执行时间了,甚至我们可以同时使用多个计时器,只需在使用上述的几个函数时设定不同的参数作为计时器的名称就可以了。
php 的配置函数就是几个ini_*的函数,主要是针对配置文件的操作,其实就四个函数:ini_get、ini_set、ini_get_all、ini_restore。个人感觉最有用的就是ini_set和ini_get。 * ini_get():获取配置文件的选项值 这个...
几个有用的php字符串过滤,转换函数,主要是一些字符的安全处理与字符串处理
但也有一些函数隐藏在角落,本文将向大家介绍7个鲜为人知,但用处非常大的函数。 没用过的程序员不妨过来看看。 1.highlight_string() 当需要在一个网站中展示PHP代码时,highlight_string()函数就变的非常有用...
这个实现起来虽然不难,但是涉及到PHP中几个不常用的函数模块,对于很多PHP新手来说还确实是一个难题,今天就给大家分享一个实例,用4行代码就可以实现让PHP随机从数组中选取几个值,然后拼接成字符串并输出。...
主要介绍了PHP explode()函数的几个应用和implode()函数有什么区别,需要的朋友可以参考下
本文实例为大家分享了几段php验证码函数,都很实用,具体内容如下 代码段一:简单php验证码函数 <?php function code(){ $im = imagecreatetruecolor(100, 40); $black = imagecolorallocate($im, 0, 0, 0); ...
在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密函数,需要的朋友可以参考下