zoukankan      html  css  js  c++  java
  • ThinkPHP 小技巧

    中文截取函数

    1 函数解释:
    2 msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
    3 $str:要截取的字符串
    4 $start=0:开始位置,默认从0开始
    5 $length:截取长度
    6 $charset=”utf-8″:字符编码,默认UTF-8
    7 $suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示
    8 模版使用:{$vo.title|msubstr=0,5,'utf-8',false}

     如果没有的话 直接把函数放进公共函数库,函数如下:

    /**
     * 函数:中文截取
     * @          
     * @          
     */
    function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)  
        {  
      if(function_exists("mb_substr")){  
                  if($suffix)  
                  return mb_substr($str, $start, $length, $charset)."...";  
                  else
                       return mb_substr($str, $start, $length, $charset);  
             }  
             elseif(function_exists('iconv_substr')) {  
                 if($suffix)  
                      return iconv_substr($str,$start,$length,$charset)."...";  
                 else
                      return iconv_substr($str,$start,$length,$charset);  
             }  
             $re['utf-8']   = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef]
                      [x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";  
             $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";  
             $re['gbk']    = "/[x01-x7f]|[x81-xfe][x40-xfe]/";  
             $re['big5']   = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";  
             preg_match_all($re[$charset], $str, $match);  
             $slice = join("",array_slice($match[0], $start, $length));  
             if($suffix) return $slice."…";  
             return $slice;
        }
  • 相关阅读:
    九.Protobuf3特殊类型
    八.Protobuf3更新消息类型(添加新的字段)
    七.Protobuf3 嵌套类型
    六.Protobuf3引入其他.proto文件
    五.Protobuf3 枚举
    四.Protobuf3 缺省值
    VC 在调用main函数之前的操作
    Windows下的代码注入
    C 堆内存管理
    VC++ 崩溃处理以及打印调用堆栈
  • 原文地址:https://www.cnblogs.com/raphael1982/p/7874463.html
Copyright © 2011-2022 走看看