• 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');

    */

    ?>

  • 相关阅读:
    爬取某人的微博信息
    Scrapy 爬取新浪微博
    《python3网络爬虫开发实战》--Scrapy
    《python3网络爬虫开发实战》--pyspider
    《python3网络爬虫开发实战》--APP爬取
    《python3网络爬虫开发实战》--模拟登陆
    《python3网络爬虫开发实战》--代理的使用
    用selenium爬取淘宝商品
    《python3网络爬虫开发实战》--动态渲染页面爬取
    Ajax爬取今日头条街拍美图
  • 原文地址:https://www.cnblogs.com/myphper/p/3230034.html
Copyright © 2020-2023  润新知