zoukankan      html  css  js  c++  java
  • PHP截取字符串长度

    <?php

    function str_cut($string, $start=0,$length, $dot = '..') {
        $strlen = strlen($string);
        if($strlen <= $length) return $string;
        $string = str_replace(array('&nbsp;', '&amp;', '&quot;', '&#039;', '&ldquo;', '&rdquo;', '&mdash;', '&lt;', '&gt;', '&middot;', '&hellip;'), array(' ', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), $string);
        $strcut = '';
        $n = $tn = $noc = 0;
        while($n < $strlen) {
            $t = ord($string[$n]);
            if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
                $tn = 1; $n++; $noc++;
            } elseif(194 <= $t && $t <= 223) {
                $tn = 2; $n += 2; $noc += 2;
            } elseif(224 <= $t && $t < 239) {
                $tn = 3; $n += 3; $noc += 2;
            } elseif(240 <= $t && $t <= 247) {
                $tn = 4; $n += 4; $noc += 2;
            } elseif(248 <= $t && $t <= 251) {
                $tn = 5; $n += 5; $noc += 2;
            } elseif($t == 252 || $t == 253) {
                $tn = 6; $n += 6; $noc += 2;
            } else {
                $n++;
            }
            if($noc >= $length) break;
        }
        if($noc > $length) $n -= $tn;
        $strcut = substr($string, $start, $n);
        $strcut = str_replace(array('&', '"', "'", '<', '>'), array('&amp;', '&quot;', '&#039;', '&lt;', '&gt;'), $strcut);
        if( $strlen==strlen($strcut)){
            return $strcut;
        }else{
            return $strcut.$dot;
        }

    }

    echo str_cut("首页显示标题太长了就会把表格撑破比较难看谁能帮我写一段代码",0,14,'...');

    /*或者使用mb_substr函数  

    用法如:

    mb_substr("首页显示标题太长了就会把表格撑破比较难看谁能帮我写一段代码",0,14,'utf-8');

    mb_substr("首页显示标题太长了就会把表格撑破比较难看谁能帮我写一段代码",0,14,'gbk');

    */

    ?>

  • 相关阅读:
    13-计算属性和侦听器
    12-指令系统介绍
    11-vue的使用
    10-vue的介绍
    09-babel
    08-webpack的介绍
    07-nodejs中npm的使用
    06-Nodejs介绍
    05-面向对象
    Docker结合Jenkins构建持续集成环境
  • 原文地址:https://www.cnblogs.com/myphper/p/3230034.html
Copyright © 2011-2022 走看看