`

php字符串截长(支持中文)

阅读更多
<?php    
/**  
 * 字符串截长(支持中文)  
 * @author:zms  
 * @version:2011-7-27  
 */  
  
    /**  
     * 字符串截取  
     * @param object $str : 字符串(支持中文)  
     * @param object $start :截取开始位置  
     * @param object $length:截取结束位置  
     * @param object $encode [optional]:字符串编码  
     * @param object $input_encode [optional]:输入的文字的编码  
     * @return  
     */  
    function substring($str, $start, $length, $encode = 'utf-8', $input_encode = 'utf-8') {   
        //编码转换   
        $str = iconv($input_encode, $encode, $str);   
        //正则匹配   
        preg_match_all(getRege($encode), $str, $match);   
        //从数组取得数据,组成字符串   
        $slice = join("", array_slice($match[0], $start, $length));   
        return $slice;   
    }   
    /**  
     * 中文编码  
     * @param object $type  
     * @return  
     */  
    function getRege($type) {   
        $rege = "";   
        switch (strtolower($type)) {   
            case 'utf-8':   
                $rege = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";   
                break;   
            case 'gb2312':   
                $rege = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";   
                break;   
            case 'gbk':   
                $rege = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";   
                break;   
            case "big5":   
                $rege = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";   
                break;   
            default:   
                echo "charset error";   
                exit;   
        }   
        return $rege;   
    }   
?>  

 

分享到:
评论

相关推荐

    C语言字符串替换函数strrpl支持中文汉字

    C语言字符串替换函数strrpl支持中文汉字,解决含中文汉字,可能替换错误的情况。支持GBK、GB18030字符串。

    截取指定长度的字符串

    在计算机科学中,字符串是连续的字符序列,可以由字母、数字或其他字符组成,包括汉字。字符串在各种编程语言中都是基本的数据类型,如Python中的`str`,Java中的`String`,JavaScript中的`String`等。 截取字符串...

    PHP 把字符串转换为数组支持中文

    此外,`str_split()`函数也可用于将字符串转换为字符数组,但不支持自定义分隔符,且对于中文字符,每个字符都会被当作一个元素: ```php $str = "你好,世界"; $array = str_split($str); ``` 在某些情况下,可能...

    字符串长度计算器

    汉化软件好多地方必须设置字符串长度值,不设置正确功能就失效,所以这小工具,希望对大家有帮助。 功能用途:计算字符串的长度,并以十六进制显示 什么是Hex反序:比如说字符长度是 0123,在文件中实际上是 2301

    计算字符串的精确象素长度

    使用GDI32中API计算字符串的精确象素长度

    C# 按照字节长度截取字符串

    在C#编程中,有时我们需要根据字节长度来截取字符串,这可能是因为要处理不同编码格式的数据,或者为了适应特定的传输限制。本篇将详细介绍如何在C#中按照字节长度截取字符串,并结合正则表达式进行操作。 首先,...

    php截取指定字符串之间的字符串的类.zip

    一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。

    VB拆分字符串,分隔字符串

    在VB(Visual Basic)编程中,处理字符串是常见的任务之一,其中包括将一个长字符串拆分成多个子字符串。这个过程通常称为“字符串拆分”或“分隔字符串”。在这个主题中,我们将深入探讨VB中如何实现这一操作,以及...

    C语言字符串转换为Python字符串的方法

    C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用...

    字符串中是否包含中文

    其中一项常见的需求就是检测一个字符串中是否包含中文字符。这在多种应用场景下都非常有用,比如中文输入验证、数据清洗等。本篇文章将详细介绍如何利用正则表达式来实现这一功能。 ### 一、正则表达式的概念 正则...

    PHP字符串处理讲述了很多关于字符串的常用用法

    ### PHP字符串处理详解 #### 一、引言 在PHP编程中,字符串处理是一项非常重要的技能。无论是构建网页内容、处理用户输入还是与其他系统交互,掌握如何高效地操作字符串都是必不可少的。本篇文章将深入探讨PHP中的...

    输入一个长度不超过100的字符串,求出这个字符串的长度(不能使用strlen())

    输入一个长度不超过100的字符串,求出这个字符串的长度(不能使用strlen())

    字符串(汉字)长度判断

    * 根据Unicode编码完美的判断中文汉字和符号 * @param c 要判断的 字符 * @return boolean */ private static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); ...

    java中截取带汉字的字符串

    ### Java中截取带汉字的字符串 在Java编程语言中,处理包含中文字符的字符串时,经常遇到的一个问题是如何正确地截取这些字符串。如果直接按照字节(byte)来进行分割,很容易导致中文字符被截断一半,从而形成乱码。...

    delphi 实现截取字符串中中文+英文混合截取

    在Delphi编程环境中,处理中文和英文混合的字符串截取是一项常见的任务,特别是在涉及到文本处理、数据解析或者用户界面展示时。由于Unicode编码的存在,中文字符通常占据两个字节,而英文字符则占据一个字节,这就...

    LabVIEW删除字符串中空格

    将“删除字符”函数拖放到前面板,设置输入为你的字符串,将“要删除的字符”设置为32,输出就是没有空格的新字符串。 3. **计算字符长度**: 计算字符串的字符长度,可以使用“字符串长度”函数。将该函数拖放到...

    一个php截取指定字符串之间的字符串的类

    这个名为“一个php截取指定字符串之间的字符串的类”的资源提供了一个专门用于在字符串中截取特定部分的类。此类可以帮助开发者更加灵活和高效地操作字符串,尤其是在处理HTML、XML或者其他结构化数据时。 字符串...

    Pb字符串中的中文和英文(含符号)拆分

    在 PowerBuilder (PB) 开发环境中,有时我们需要处理包含中文和英文字符的字符串,并将它们分开。例如,给定的标题 "Pb字符串中的中文和英文(含符号)拆分" 描述了一个需求:将像 '中字A文C' 这样的字符串拆分为 '...

    JS获取带中文字符的字符串长度

    一个JS函数,可以获取你当前输入的字符串的长度,其中中文字符和全角字符是2个长度

Global site tag (gtag.js) - Google Analytics