• 中文截取字符串方法(指定长度之后的中文用逗号代替)


    <?php
    function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
    {
       if($code == 'UTF-8')
       {
           $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]/";
           preg_match_all($pa, $string, $t_string);

           if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
           return join('', array_slice($t_string[0], $start, $sublen));
       }
       else
       {
           $start = $start*2;
           $sublen = $sublen*2;
           $strlen = strlen($string);
           $tmpstr = '';

           for($i=0; $i< $strlen; $i++)
           {
               if($i>=$start && $i< ($start+$sublen))
               {
                   if(ord(substr($string, $i, 1))>129)
                   {
                       $tmpstr.= substr($string, $i, 2);
                   }
                   else
                   {
                       $tmpstr.= substr($string, $i, 1);
                   }
               }
               if(ord(substr($string, $i, 1))>129) $i++;
           }
           if(strlen($tmpstr)< $strlen ) $tmpstr.= "...";
           return $tmpstr;
       }
    }

    $str = "自乔布斯去世之后,外界一致认为是因为他的一如既往的固执,而错过了最佳治疗时间";
    $aa= cut_str($str, 36, 0, 'gb2312');
    print_r($aa);
    ?>

  • 相关阅读:
    PYTHON核心编程第7章 7.5题
    openssl大漏洞
    运维之路
    组件嵌套+Mixin函数demo
    React初识(按钮点击+输入绑定)
    vue切换按钮(关闭消失型)
    动态发表之后的显示时间
    展开全部的实现
    前端进行后台数据的处理
    将项目上传到git上,并在测试服务器上运行
  • 原文地址:https://www.cnblogs.com/myphper/p/3227221.html
Copyright © 2020-2023  润新知