`
xfcode
  • 浏览: 22518 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

php中文字符串截取函数支持多种编码

    博客分类:
  • php
阅读更多
发布:sunday01   来源:net   阅读: 1   【大 中 小】

为大家提供一个可以支持多种编码的中文字符串截取函数,有需要的朋友,可以研究下。

<?php
/*
* @todo 中文截取,支持gb2312,gbk,utf-8,big5
* @link: 脚本学堂 http://www.jbxue.com
* @param string $str 要截取的字串
* @param int $start 截取起始位置
* @param int $length 截取长度
* @param string $charset utf-8|gb2312|gbk|big5 编码
* @param $suffix 是否加尾缀
*/

function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
if(function_exists("mb_substr"))
return mb_substr($str, $start, $length, $charset);
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
$slice = join("",array_slice($match[0], $start, $length));
if($suffix) return $slice."…";
return $slice;
}
?>


以上代码,看着就牛X,要知道php的正则,那是相当强悍的。
复制以上代码,在你的机器上测试下吧,多动手,有助于快速提高编程水平。

本文原始链接:http://www.jbxue.com/article/6239.html
分享到:
评论

相关推荐

    php中的一个中文字符串截取函数

    在PHP中,字符串截取函数是一个基本的函数,但是它不能正确地处理中文字符串,因为中文字符串在UTF-8编码中占用多个字节,而PHP的截取函数只能截取固定长度的字符串,无法正确地截取中文字符串。因此,需要开发一个...

    php中支持多种编码的中文字符串截取函数!

    php中支持多种编码的中文字符串截取函数!

    php截断字符串优化函数 php截断字符串优化函数

    3. **使用`mb_substr()`处理多字节字符:**当处理包含多字节字符(如UTF-8编码的中文字符)的字符串时,`substr()`可能无法正确处理。这时,可以使用`mb_substr()`函数,它能够识别多字节字符并正确截取。例如: ``...

    PHP中如何截取中文字符串

    总结,处理中文字符串截取时,理解字符编码和字符串处理函数的特性至关重要。PHP的mbstring扩展提供了强大且安全的方法来处理多字节字符,确保了中文字符串截取的准确性。在编写代码时,要时刻关注字符串的编码类型...

    php通用截取字符串.zip

    `substr()` 是PHP中最基础的字符串截取函数,它可以返回字符串的一部分。它的基本语法是 `substr(string, start, length)`: - `string`:要截取的原始字符串。 - `start`:指定截取的起始位置,如果为正数,从...

    php函数之字符串函数大全

    这里我们将详细探讨一些PHP中的关键字符串...这些函数构成了PHP字符串处理的基础工具箱,无论是在创建动态网页、处理用户输入还是进行数据操作,都能发挥重要作用。熟练掌握这些函数,将使你在PHP编程中更加得心应手。

    字符串按照指定的字节数来截取

    字符串是由字符组成的序列,而“字符串按照指定的字节数来截取”这个话题,就是指如何在字符串中提取固定字节数的部分。在不同的编程语言中,都有相应的函数或方法来实现这一功能。 在Python中,可以使用内置的`...

    以utf8格式截取的字符串编码

    在进行字符串截取操作时,选择适当且支持多字节的函数,确保文件和输出的编码一致,这些都是避免编码问题的关键。在提供的`test.php`文件中,很可能包含了使用`mb_strcut`或其他类似函数处理UTF-8字符串的示例代码,...

    php字符串截取函数mb_substr用法实例分析

    本文实例讲述了php字符串截取函数mb_substr用法。分享给大家供大家参考,具体如下: string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )-截取...

    PHP截取字符串,生成文章摘要

    1. `substr()`函数:这是一个基本的字符串截取函数,适用于纯ASCII字符串。它的语法是`substr(string, start, length)`。`string`是要截取的字符串,`start`是从哪个位置开始截取,`length`是要截取的长度。例如: `...

    php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例

    主要介绍了php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8用法,结合实例形式分析了针对gb2312与utf-8编码的自定义中文字符串截取函数的实现与使用方法,需要的朋友可以参考下

    php中计算中文字符串长度、截取中文字符串的函数代码

    另一个截取中文字符串的通用方法是`csubstr`函数,它可以处理不同的字符编码,如`utf-8`, `gb2312`, `gbk`, 和 `big5`。这个函数使用`mb_substr`函数(如果存在)来执行截取,或者使用正则表达式匹配和字符数组切片...

    php截取字符串

    首先,我们需要了解PHP中最常用的字符串截取函数——`substr()`。`substr()`函数允许我们从字符串的指定位置开始,截取指定长度的字符。其基本语法如下: ```php substr(string $string, int $start, ?int $length ...

    PHP获取真实IP函数和中文截取函数

    你可以将这些函数导入到你的PHP项目中,以便在需要获取用户真实IP或进行中文字符串截取时使用。记得在使用前确保你的服务器已经安装了mbstring扩展。通过这些函数,你可以更好地处理与用户IP和中文字符串处理相关的...

    PHP 不区分中英文截取utf8字符串

    在进行字符串截取时,如果不考虑编码特性,可能会导致截取结果错误。这篇博客“PHP 不区分中英文截取utf8字符串”提供了一个解决方案,使得在UTF-8环境下可以正确地截取包含中文和英文的字符串,而不影响其完整性。 ...

    php 截取字符串

    在处理字符串操作时,PHP提供了丰富的内置函数,使得我们能够方便地进行字符串截取。这篇博客将深入探讨PHP如何截取字符串,并通过实例来演示其具体用法。 标题中的“php 截取字符串”主要涉及PHP中的两个核心函数...

    PHP程序设计-3期(KC016) 2.8.3字符串截取习题.doc

    这里我们关注的是字符串截取,主要涉及到`substr()`和`mb_substr()`两个函数。这两个函数用于从一个字符串中提取指定长度的部分,或者从指定的位置开始截取。 单选题解析: 1. `substr()`函数的语法是`substr...

    php轻松实现中英文混排字符串截取

    在PHP中处理中英文混排的字符串截取和计数是一项常见的任务,特别是在网页开发中。传统的`strlen()`和`substr()`函数对于处理中文字符可能会出现不准确的问题,因为它们通常按照字节来计算字符串长度,而中文字符...

Global site tag (gtag.js) - Google Analytics