`

php中文字符串截取函数一例

    博客分类:
  • PHP
阅读更多
<?php
/****首先是CSDN论坛PHP斑竹xuzuning(唠叨)老大的,支持gb2312,gbk,big三种编码。
以下是代码:
http://www.jbxue.com
***/
$len = 19;
$text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";
echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");
/****chr(0)不是null
null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000
虽然chr(0)不会显示出什么,但是他是一个字符。
当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空”
根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了
注:
编码 第一字节 第二字节
gb2312 0xa1-0xf7 0xa1-0xfe
gbk 0x81-0xfe 0x81-0xfe 0x40-0x7e
big5 0xa1-0xf7 0x81-0xfe 0x40-0x7e
其次这个是网上搜索的,支持utf-8编码,原作者不详:
 *****/
     function subString_UTF8($str, $start, $lenth)
    {
        $len = strlen($str);
        $r = array();
        $n = 0;
        $m = 0;
        for($i = 0; $i < $len; $i++) {
            $x = substr($str, $i, 1);
            $a  = base_convert(ord($x), 10, 2);
            $a = substr('00000000'.$a, -8);
            if ($n < $start){
                if (substr($a, 0, 1) == 0) {
                }elseif (substr($a, 0, 3) == 110) {
                    $i += 1;
                }elseif (substr($a, 0, 4) == 1110) {
                    $i += 2;
                }
                $n++;
            }else{
                if (substr($a, 0, 1) == 0) {
                    $r[ ] = substr($str, $i, 1);
                }elseif (substr($a, 0, 3) == 110) {
                    $r[ ] = substr($str, $i, 2);
                    $i += 1;
                }elseif (substr($a, 0, 4) == 1110) {
                    $r[ ] = substr($str, $i, 3);
                    $i += 2;
                }else{
                    $r[ ] = '';
                }
                if (++$m >= $lenth){
                    break;
                }
            }
        }
        return $r;
    } // End subString_UTF8;
}// End String
#由于此函数返回的是一个数组,因此要配合join函数来显示字符串:
#join('',subString_UTF8($str, $start, $lenth));
#在页面显示的时候还可以在此语句后面连一个"..."

本文出处参考:http://www.jbxue.com/article/449.html
分享到:
评论

相关推荐

    Mysql字符串截取函数SUBSTRING的用法说明

    感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用。 函数: 1、从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:...

    thinkPHP内置字符串截取函数用法详解

    ThinkPHP框架作为PHP开发中广泛使用的MVC框架之一,其内置的字符串处理函数功能强大而丰富,尤其在模板引擎中,内置的字符串截取函数让开发者在视图层的字符串处理变得更加灵活和方便。本文将详细介绍ThinkPHP内置的...

    php查找字符串中第一个非0的位置截取

    8. **mb_substr()** - 相对应地,`mb_substr()`用于多字节字符集下的字符串截取。 了解这些函数可以帮助你在处理字符串时更灵活地选择合适的方法。在实际编程中,应根据具体需求和性能要求来选择最合适的功能。同时...

    总结PHP删除字符串最后一个字符的三种方法

    在PHP编程中,处理字符串是基本且常见的任务之一,其中去除字符串的最后一个字符也是经常需要面对的一个小问题。PHP提供了多种方法来实现这一需求,...希望这篇文章能帮助大家更好地理解和运用这些PHP字符串处理技术。

    WordPress中文截取函数用法分析

    除了这些自定义函数外,文件中还提到了mb_substr函数,这是PHP的多字节字符串函数,可以直接用于UTF-8编码的字符串截取,但需要注意的是,在使用该函数时必须指定正确的字符编码(本例中为"utf8")。使用mb_substr...

    PHP产生随机字符串函数

    例如,可以使用内置的`str_shuffle()`函数来打乱一个字符串的顺序,然后截取其中的一部分作为随机字符串。不过,`str_shuffle()`并不总是能确保生成指定长度的字符串,因此可能需要额外的处理。 此外,PHP还提供了`...

    php读取html并截取字符串的简单代码

    ### PHP读取HTML并截取字符串的简单代码 在PHP开发过程中,经常需要从网页...无论是简单的字符串截取还是更复杂的cURL请求,都能满足实际项目的需求。开发者可以根据自己的具体应用场景选择合适的方法来实现所需功能。

    php截取字符串之截取utf8或gbk编码的中英文字符串示例

    在探讨PHP编程语言中处理字符串截取时,我们经常会遇到涉及不同编码格式的中文和英文字符的情况。由于PHP内置的字符串长度函数`strlen()`在处理UTF-8编码的中文时会返回3个字节,这与中文在微博等平台上的字符计数...

    php的数组与字符串的转换函数整理汇总

    PHP是一种广泛使用的开源脚本...通过上述函数,我们可以灵活地在PHP中进行字符串和数组之间的转换,以及对字符串进行分割、搜索和截取等操作。掌握这些函数的使用方法,对于处理文本数据和开发Web应用都是非常重要的。

    PHP经典编程一百例

    2. **字符串操作**:PHP提供了丰富的字符串处理函数,如`strlen()`计算长度,`substr()`截取子串,`str_replace()`替换字符串,以及`explode()`和`implode()`用于拆分和合并字符串。在实例中,你会学习如何运用这些...

    PHP编程一百例

    2. **字符串处理**:涉及字符串的创建、操作和搜索,如字符串拼接、查找替换、长度计算、子串截取等。 3. **数组操作**:涵盖数组的创建、遍历、排序、合并、分解等,以及多维数组的应用。 4. **文件系统操作**:...

    php编程一百例代码

    2. **字符串和数组操作**:实例中可能会涵盖字符串的连接、查找、替换、截取等方法,以及数组的创建、遍历、排序和合并等操作。 3. **函数的使用**:PHP内建了大量函数,如用于日期和时间处理的date(),文件操作的...

    php新手100例

    4. **字符串处理**:PHP提供了一系列的字符串处理函数,如`strlen()`计算长度,`substr()`截取子串,`str_replace()`替换子串等。 5. **文件操作**:PHP可以读写文件,如`file_get_contents()`读取文件内容,`file_...

    php编程一百例源程序

    2. **字符串操作**:PHP提供了丰富的字符串处理函数,如`strlen()`计算长度,`strpos()`查找子串,`substr()`截取子串,`str_replace()`替换子串,以及`implode()`和`explode()`处理数组与字符串之间的转换等。...

    PHP新手入门+代码100例

    字符串处理是PHP的重要特性,提供了如substr()、strpos()、str_replace()等函数,用于截取、查找、替换字符串。在实践中,你会掌握如何高效地处理文本数据。 数据库交互是Web开发中的常见任务,PHP常与MySQL配合...

    php 解决substr()截取中文字符乱码问题

    在PHP编程中,当涉及到字符串处理时,`substr()`函数是一个非常常用的工具,它用于从字符串中截取指定长度的子串。然而,当处理包含中文字符的字符串时,`substr()`函数可能会导致乱码问题,尤其是在不同字符编码...

    PHP编程一百例,PHP例题

    - 字符串操作:如`substr()`截取子字符串,`str_replace()`替换字符串中的部分文本。 - 正则表达式:使用`preg_match()`和`preg_replace()`进行复杂字符串匹配和替换。 6. **文件操作** - 文件读写:`fopen()`、...

    php编程开发一百例

    2. **字符串与数组操作**:字符串的拼接、查找、替换、截取等,以及数组的创建、遍历、排序、合并等方法。 3. **文件操作**:文件的读写、上传下载、文件夹管理等,这些都是PHP在Web开发中常见的功能。 4. **...

    php100例,php教程

    2. **字符串操作**:学习如何创建、操作和比较字符串,使用内置函数进行查找、替换、截取等操作。 3. **数组处理**:理解数组的概念,学习如何创建多维数组,以及使用函数(如array_push、array_pop、count、...

Global site tag (gtag.js) - Google Analytics