发布:sunday01 来源:net 阅读: 1 【大 中 小】
为大家提供一个可以支持多种编码的中文字符串截取函数,有需要的朋友,可以研究下。
以上代码,看着就牛X,要知道php的正则,那是相当强悍的。
复制以上代码,在你的机器上测试下吧,多动手,有助于快速提高编程水平。
本文原始链接:http://www.jbxue.com/article/6239.html
为大家提供一个可以支持多种编码的中文字符串截取函数,有需要的朋友,可以研究下。
<?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发送post请求函数
2014-03-10 09:08 530一个php发送post请求的函数。 代码如下: < ... -
php function用法如何递归及return和echo区别
2014-03-10 09:07 638php function用法如何递归及return和echo区 ... -
PHP数据过滤函数参考
2014-03-10 09:06 5201、php提交数据过滤的基 ... -
PHP_Cooikes不同页面无法传递怎么办
2014-03-08 08:11 338PHP_Cooikes不同页面无法传递的解决方法。 刚开始设置 ... -
php统计文章排行的代码
2014-03-06 17:11 617php统计文章排行示例,代码可以用在dedemcs上按月、周 ... -
c#批量上传图片到服务器示例分享
2014-03-06 17:07 1184c#批量上传图片到服务 ... -
php 启动报错的解决办法
2014-01-18 07:31 537php 启动时报错的情况,如下: [root@abc lnmp ... -
PHP 图片文件上传代码
2014-01-11 08:23 556通过 PHP,可以把文件上传到服务器。里面加入一些图片的判断, ... -
PHP文件上传原理分析
2014-01-11 08:20 312PHP文件上传原理简单分析,学习php的朋友可以参考下,确实比 ... -
php ftp文件上传函数(基础版)
2014-01-11 08:19 456不会用于php ftp函数文件上传,但有在使用比较高级的WEB ... -
php上传文件增强函数
2014-01-11 08:17 457php文件上传的增强函数首先变得傻瓜简单化,但并不是该函数的简 ... -
PHP生成随机用户名和密码的代码
2014-01-06 23:19 494使用PHP生成随机数可以应用在许多地方,比如可以设计程序的随机 ... -
PHP常见数据类型的汇总分享
2014-01-06 23:17 498PHP中常见的数据类型,特此记录。 PHP编程中常用的数据 ... -
php加减乘除计算器简单实现代码
2014-01-06 23:15 1164加减乘除计算器用php实现的,不错的示例。 代码: < ... -
PHP变色验证码实例
2014-01-06 23:13 437PHP实现变色验证码。 代码: <?php /** ... -
统计目录文件大小的php函数
2013-03-12 10:33 1118早上刚到公司,头告诉我,抓紧写一个小函数,用来统计指定目录中文 ... -
php 文件上传 简单代码
2013-03-10 08:15 7421、程序文件 <?php //判断临时文件存放路径是否 ... -
php上传图片的原理分析
2013-03-10 08:08 933在php编程中,有关php上传图片的问题,随时会遇到。 ph ... -
php无法上传大文件的解决方法
2013-03-07 22:59 738开发一个文件上传共享网站,曾想使用下面的代码实现文件上传的功能 ... -
php替换网址中参数变量的代码
2013-03-05 03:59 1005发布:thatgirl 来源:net 阅读: 6 ...
相关推荐
在PHP中,字符串截取函数是一个基本的函数,但是它不能正确地处理中文字符串,因为中文字符串在UTF-8编码中占用多个字节,而PHP的截取函数只能截取固定长度的字符串,无法正确地截取中文字符串。因此,需要开发一个...
**3.1 统一支持的字符串截取函数** ```php function cut_str($string, $sublen, $start = 0, $code = 'UTF-8') { if ($code == 'UTF-8') { // 正则表达式用于匹配UTF-8字符 $pa = "/[\x01-\x7f]|[\xc2-\xdf][\...
### PHP中支持多种编码的中文字符串截取函数详解 在PHP开发过程中,处理多语言环境下的字符串是一项常见的任务。特别是对于中文字符的处理,由于不同的编码方式(如GB2312、GBK、UTF-8、BIG5等),可能会遇到各种...
3. **使用`mb_substr()`处理多字节字符:**当处理包含多字节字符(如UTF-8编码的中文字符)的字符串时,`substr()`可能无法正确处理。这时,可以使用`mb_substr()`函数,它能够识别多字节字符并正确截取。例如: ``...
总结,处理中文字符串截取时,理解字符编码和字符串处理函数的特性至关重要。PHP的mbstring扩展提供了强大且安全的方法来处理多字节字符,确保了中文字符串截取的准确性。在编写代码时,要时刻关注字符串的编码类型...
最后,`cut_str` 函数是一个通用的汉字截取函数,支持UTF-8和GB2312编码。它首先根据指定的编码类型进行不同的处理。对于UTF-8编码,它使用类似于`sysSubStr`的方法来处理多字节字符。对于GB2312编码,它则采用与`...
`substr()` 是PHP中最基础的字符串截取函数,它可以返回字符串的一部分。它的基本语法是 `substr(string, start, length)`: - `string`:要截取的原始字符串。 - `start`:指定截取的起始位置,如果为正数,从...
这两个自定义函数对于处理中文字符串截取的问题非常有用,尤其是在处理用户输入或者从数据库读取GBK或UTF-8编码的中文数据时,可以有效地防止因编码问题导致的乱码。它们体现了PHP在处理多字节编码字符串时的灵活性...
下面详细介绍了一个针对GB2312编码的中文字符串截取函数。 ##### 函数定义: ```php function mysubstr($str, $start, $len) ``` - **$str**:待截取的字符串。 - **$start**:开始截取的位置。 - **$len**:截取...
然而,当涉及到多字节字符(如中文字符)时,由于一个中文字符通常占用两个字节,使用上述标准的字符串截取函数可能会导致乱码或截取不准确的情况。为解决这个问题,PHP提供了mb_substr()函数,它的工作方式与substr...
字符串是由字符组成的序列,而“字符串按照指定的字节数来截取”这个话题,就是指如何在字符串中提取固定字节数的部分。在不同的编程语言中,都有相应的函数或方法来实现这一功能。 在Python中,可以使用内置的`...
PHP字符串截取函数用法分析主要讲解了在PHP中如何利用内置函数对字符串进行截取,以及如何通过自定义函数来处理特殊需求,比如混合中英文字符的截取。文章主要分为两个部分进行介绍。 首先,PHP的内置函数substr()...
由于中文字符的编码特性,普通的字符串截取函数并不能很好地完成任务。以上介绍的方法各有特点,开发者可以根据实际项目中遇到的具体情况,选择合适的字符串截取方法。在实际应用中,还需要注意不同编码间的兼容性...
为了解决这个问题,我们可以使用`mb_substr()`函数,它是一个多字节安全的字符串截取函数,能够正确处理UTF-8编码或者其他多字节编码的字符串。 `mb_substr()`函数的语法是`mb_substr(string,start,length,encoding...