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;
        }
  • 相关阅读:
    多网卡绑定
    deepin 20.2.3 数字时钟屏保
    (原创)odoo15(master)下,列表导出权限控制
    在CentOS7上扩容centos-root根目录
    Linux扩容-新增磁盘分区挂载-fdisk
    Docker
    隐私政策(URL)
    快排代码
    反射将对象所有属性(含集合中所有属性)中字符串类型做trim()
    Prometheus 查询语句
  • 原文地址:https://www.cnblogs.com/raphael1982/p/7874463.html
Copyright © 2011-2022 走看看