PHP截取含中文的混合字符串长度的函数

简介:

截取含中文的混合字符串长度

    /**
     * 截取中文混合字符串指定长度
     * 
     * @param string $string
     * @param integer $length
     * @param string $etc 超过长度时的省略符
     * @param string $charset 字符编码 utf-8 或者 gbk
     * @return string
     */
    public function truncateCn($string, $length = 80, $etc = '...', $charset = 'utf-8')
    {
        if ($length == 0) {
            return '';
        }
           
        if (function_exists('mb_substr')) {
            $etc = mb_strlen($string, $charset) > $length ? $etc : '';
            return mb_substr($string, 0, $length, $charset) . $etc;
        }
           
        if ($charset == '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]/";
        }
        else {
            $pa = "/[\x01-\x7f]|[\xa1-\xff][\xa1-\xff]/";
        }
        preg_match_all($pa, $string, $t_string);
        if (count($t_string[0]) > $length) {
            return join('', array_slice($t_string[0], 0, $length)) . $etc;
        }
           
        return join('', array_slice($t_string[0], 0, $length));
    }


目录
相关文章
|
10天前
|
SQL 关系型数据库 MySQL
php所有函数总结
以上只是PHP中函数的一部分,实际上PHP提供了丰富的内置函数,能够处理各种复杂的任务。
9 2
|
14天前
|
存储 Serverless PHP
|
14天前
|
存储 PHP 索引
|
20天前
|
PHP
原生php制作分页函数
原生php制作分页函数
10 0
|
22天前
|
PHP
php删除字符串中的所有空格
php删除字符串中的所有空格
15 0
|
1月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之如何使用PHP SDK调用函数并在请求体(body)中传递字符串
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2月前
|
PHP Perl
PHP-ereg()函数
但再次强调,不建议使用ereg()函数,而应该改用preg_match()函数来执行更灵活和强大的正则表达式匹配操作。
34 4
|
2月前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
324 4
|
2月前
|
存储 PHP 数据库
【PHP开发专栏】PHP数组操作与常见函数
【4月更文挑战第29天】本文介绍了PHP中的数组及其操作,包括定义与初始化、访问与修改、遍历。还探讨了常用的数组函数,如count()、in_array()、array_push/pop()、array_shift/unshift()、array_merge()、array_keys/values()以及sort()和rsort(),帮助开发者更有效地处理和操作数组。
|
PHP
php字符串比较函数
php字符串比较函数 www.111cn.net 编辑:Crese 来源:转载       比较两个字符串是否相等,最常见的方法就是使用“===”来判断,至于它和“==”的区别,简单来说就是前者强调“identical”类型也要求一样;后者要求“equal”,值相同就可以了,参考【1】。
1503 0