专注前端,专注网页设计制作 - (承接网页制作、设计) QQ:262817214 虚拟主机 域名注册 云主机 香港空间 | CSS3演示 | 站长工具 | 网页特效 | 网页模板 | 网页素材 | PSD素材 | 手机系统
广告加载中...
当前位置: 首页 > 网络编程 > PHP > >文章

PHP截取字符串长度及客户端真实IP的函数

时间:2016-02-16 10:12点击: 次 【

 PHP截取字符串长度函数经常用到。超过一定的长度显示为"....",当然,这个效果也可以用css样式控制

  1. /* 
  2.  Utf-8、gb2312都支持的汉字截取函数 
  3.  cut_str(字符串, 截取长度, 开始长度, 编码); 
  4.  编码默认为 utf-8 
  5.  开始长度默认为 0 
  6. */ 
  7. function cutStr($string, $sublen, $start = 0, $code = 'UTF-8'){ 
  8.     if($code == 'UTF-8'){ 
  9.         $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"
  10.         preg_match_all($pa, $string, $t_string); 
  11.  
  12.         if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."..."; 
  13.         return join('', array_slice($t_string[0], $start, $sublen)); 
  14.     }else{ 
  15.         $start = $start*2; 
  16.         $sublen = $sublen*2; 
  17.         $strlenstrlen = strlen($string); 
  18.         $tmpstr = ''
  19.  
  20.         for($i=0; $i<$strlen; $i++){ 
  21.             if($i>=$start && $i<($start+$sublen)){ 
  22.                 if(ord(substr($string, $i, 1))>129){ 
  23.                     $tmpstr.substr($string, $i, 2); 
  24.                 }else{ 
  25.                     $tmpstr.substr($string, $i, 1); 
  26.                 } 
  27.             } 
  28.             if(ord(substr($string, $i, 1))>129) $i++; 
  29.         } 
  30.         if(strlen($tmpstr)<$strlen ) $tmpstr."..."
  31.         return $tmpstr; 
  32.     } 

今天介绍的另一个函数是PHP获取用户真实IP,函数如下:

  1. //获取用户真实IP 
  2. function getIp() { 
  3.     if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 
  4.         $ip = getenv("HTTP_CLIENT_IP"); 
  5.     else 
  6.         if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) 
  7.             $ip = getenv("HTTP_X_FORWARDED_FOR"); 
  8.         else 
  9.             if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) 
  10.                 $ip = getenv("REMOTE_ADDR"); 
  11.             else 
  12.                 if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) 
  13.                     $ip = $_SERVER['REMOTE_ADDR']; 
  14.                 else 
  15.                     $ip = "unknown"
  16.     return ($ip); 

 

推荐文章
热门文章榜