• 技术文章 >后端开发 >php教程

    thinkphp5中截取字符串的方法有哪些?(两种方法实现)

    不言不言2018-08-20 16:08:21原创4969
    本篇文章给大家带来的内容是关于thinkphp5中截取字符串的两种方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    在公共的common.php中

    方法1

    //字符串截取
    function cut_str($sourcestr,$cutlength)  
    {  
       $returnstr='';  
       $i=0;  
       $n=0;  
       $str_length=strlen($sourcestr);//字符串的字节数  
       while (($n<$cutlength) and ($i<=$str_length))  
       {  
          $temp_str=substr($sourcestr,$i,1);  
          $ascnum=Ord($temp_str);//得到字符串中第$i位字符的ascii码  
          if ($ascnum>=224)    //如果ASCII位高与224,  
          {  
        $returnstr=$returnstr.substr($sourcestr,$i,3); //根据UTF-8编码规范,将3个连续的字符计为单个字符          
             $i=$i+3;            //实际Byte计为3  
             $n++;            //字串长度计1  
          }  
          elseif ($ascnum>=192) //如果ASCII位高与192,  
          {  
             $returnstr=$returnstr.substr($sourcestr,$i,2); //根据UTF-8编码规范,将2个连续的字符计为单个字符  
             $i=$i+2;            //实际Byte计为2  
             $n++;            //字串长度计1  
          }  
          elseif ($ascnum>=65 && $ascnum<=90) //如果是大写字母,  
          {  
             $returnstr=$returnstr.substr($sourcestr,$i,1);  
             $i=$i+1;            //实际的Byte数仍计1个  
             $n++;            //但考虑整体美观,大写字母计成一个高位字符  
          }  
          else                //其他情况下,包括小写字母和半角标点符号,  
          {  
             $returnstr=$returnstr.substr($sourcestr,$i,1);  
             $i=$i+1;            //实际的Byte数计1个  
             $n=$n+0.5;        //小写字母和半角标点等与半个高位字符宽...  
          }  
       }  
             if ($str_length>$i){  
              $returnstr = $returnstr . "...";//超过长度时在尾处加上省略号  
          }  
        return $returnstr;  
    }

    方法2:

    //字符串截取并且超出显示省略号
    function subtext($text, $length)
    {
    if(mb_strlen($text, ‘utf8’) > $length)
    return mb_substr($text,0,$length,’utf8′).’ …’;
    return $text;
    }

    在模版中调用则:

    {$tops.title | subtext=18}

    相关推荐:

    MySQL 字符串截取

    php截取字符串函数分享,php截取字符串

    以上就是thinkphp5中截取字符串的方法有哪些?(两种方法实现)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:截取字符串
    上一篇:php微信活动时如何验证用户是否关注了公众号 下一篇:TP5实现网站面包屑导航的代码
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• JS 截取字符串substr 和 substring方法的区别_javascript技巧• PHP 截取字符串函数整理(支持gb2312和utf-8)_php技巧• PHP指定截取字符串中的中英文或数字字符的实例分享_PHP• PHP中使用substr()截取字符串出现中文乱码问题该怎么办_PHP• php按单词截取字符串的方法_PHP
    1/1

    PHP中文网