【php计算字符串截取的问题】教程文章相关的互联网学习教程文章

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

微博的发言有字数限制,其计数方式是,中文算2个,英文算1个,全角字符算2个,半角字符算1个。php中自带strlen是返回的字节数,对于utf8编码的中文返回时3个,不满足需求。mb_strlen 可以根据字符集计算长度,比如utf8的中文计数为1,但这不符合微博字数限制需求,中文必须计算为2才可以。google了下,找到一个discuz中截取各种编码字符的类,改造了下,已经测试通过.其中参数$charset 只支持gbk与utf-8。代码如下:$a = "s@@你好"...

收藏几个支持中文的PHP字符串截取函数_PHP教程

字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到。虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了。 =224 ) { $stringTMP = substr($string,$i,3); $i = $i + 3; } elseif( ord($stringTMP) >=192 ) { $stringTMP = substr($string,$i,2); $i = $i + 2; } else { $i = $i + 1; } $stringLast[] = $stringTMP; } $stringLast = implode("",$string...

PHP各种编码的汉字字符串截取_PHP教程

虽然PHP有现成的截取字符串函数substr(),但是这个函数不能对汉字字符串进行截取,要实现这种效果还需要我们自己去编写相应的函数。汉字有多种编码,比如GB2312,UTF-8等,汉字字符串的截取需要区分这种汉字编码,下面是给出的几个解决方案。截取GB2312中文字符串0xa0) {$tmpstr .= substr($str, $i, 2);$i++;} else$tmpstr .= substr($str, $i, 1);}return $tmpstr; } ?> 截取utf8编码的多字节字符串UTF-8、GB2312都支持的汉字截取...

介绍Thinkphp内置的一个中英文字符串截取函数_PHP教程

Thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便。调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的函数供大家调用。比如今天我们说的截取字符串函数,在thinkphp模板引擎里可以这样写:{$vo.title|msubstr=0,5,’utf-8′,false} 至于{$vo.title}这个大家肯定不陌生了。就说说后边的函数msubstr吧。它代表的意思是截取字符串$vo.title,从0个字符开始截取,截取5个字符。使用的...

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

先给大家介绍用到的函数:代码如下:mb_strwidth($str, $encoding) 返回字符串的宽度$str 要计算的字符串$encoding 要使用的编码,如 utf8、gbk代码如下:mb_strimwidth($str, $start, $width, $tail, $encoding) 按宽度截取字符串$str 要截取的字符串$start 从哪个位置开始截取,默认是0$width 要截取的宽度$tail 追加到截取字符串后边的字符串,常用的是 ...$encoding 要使用的编码 下边给大家实例演示:代码如下:<?php/** * utf8...

php简简单单搞定中英文混排字符串截取,只需2行代码!_PHP教程

提到中英文混排计数、截取,大家首先想到的是ascii、16进制、正则匹配、循环计数。 今天我给大家分享的是php的mb扩展,教你如何轻松处理字符串。先给大家介绍用到的函数: mb_strwidth($str, $encoding) 返回字符串的宽度 $str 要计算的字符串 $encoding 要使用的编码,如 utf8、gbk mb_strimwidth($str, $start, $width, $tail, $encoding) 按宽度截取字符串 $str 要截取的字符串 $start 从哪个位置开始截取,默认是0 $width 要截...

多个PHP中文字符串截取函数_PHP教程

代码如下:function sysSubStr($string,$length,$append = false) { if(strlen($string) { return $string; } else { $i = 0; while ($i { $stringTMP = substr($string,$i,1); if ( ord($stringTMP) >=224 ) { $stringTMP = substr($string,$i,3); $i = $i + 3; } elseif( ord...

PHP字符串截取函数strlen和mb_strlen的区别,strlenmb_strlen_PHP教程

PHP字符串截取函数strlen和mb_strlen的区别,strlenmb_strlenPHP字符串截取函数strlen和mb_strlen的区别,php教程中常见的计算字符串长度的函数有: strlen和mb_strlen.当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。 在PHP中,strlen与mb_strlen是求字符串长度的函数。 两者之间的区别。例子:php //测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).'';//14 ech...

php中文字符串截取方法实例总结,_PHP教程

php中文字符串截取方法实例总结, 本文实例总结了php中文字符串截取方法,非常实用的技巧。分享给大家供大家参考。具体方法分析如下: 用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符“锯”成两半。 解决办法如下: 1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。 2、自己书写截取函数,但效率不如用mbstring扩展库来得高。 3、如果仅是为了输出截取的串,可用如下方式实现:subst...

php中文字符串截取方法解析,_PHP教程

php 中文字符串截取方法解析,用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符“锯”成两半。解决办法: 1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。 2、自己书写截取函数,但效率不如用mbstring扩展库来得高。 3、如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0)。 substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以...

PHP采集利器:根据开始字符串和结束字符串截取需要的采集内容数据_PHP教程

PHP采集利器:根据开始字符串和结束字符串截取需要的采集内容数据PHP采集利器:根据开始字符串和结束字符串截取需要的采集内容数据function strCutByStr(&$str, $findStart, $findEnd = false, $encoding = utf-8){if(is_array($findStart)){if(count($findStart) === count($findEnd)){foreach($findStart as $k => $v){if(($result = strCutByStr($str, $v, $findEnd[$k], $encoding)) !== false){return $result;}}return false...

php字符串截取函数用法分析,php字符串截取函数_PHP教程

php字符串截取函数用法分析,php字符串截取函数 本文实例分析了php字符串截取函数用法。分享给大家供大家参考。具体分析如下: php自带的截取字符串的函数只能处理英文,数字的不能截取中文混排的,后面一个示例比较好用,第一个主要是给初学者学学用的,具体代码如下:代码如下:<?php //构造字符串 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; echo "原字符串:".$str.""; //按各种方式进行截取 $str1 = substr($str,5); echo "从第5个字符开...

PHP中substr函数字符串截取用法分析,phpsubstr_PHP教程

PHP中substr函数字符串截取用法分析,phpsubstr本文实例讲述了PHP中substr函数字符串截取用法。分享给大家供大家参考,具体如下: PHP中substr函数定义如下: substr(string,start,length) 参数说明如下: string 必需。规定要返回其中一部分的字符串。 start 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾开始的指定位置开始 0 - 在字符串中的第一个字符处开始 length 可选。规定被返回...

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

php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例,本文实例讲述了php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8用法。分享给大家供大家参考,具体如下: /* *gb2312中文字符串截取*/ function substr_for_gb2312($str,$start,$len=null){$totlelength = strlen($str);//特例情况if ($len == null) $len = $totlelength;if ($len ==0) return "";if ($len >= $totlelength && $start == 0 ) ...

php中文字符串截取乱码问题解决

其实下面的方法1、2现在不推荐了,读者们看了就当多了解了吧,网友有留言,其实php有现成的用于多字节安全的字符串截取函数的mb_substr, 参照:http://www.php.com/manual/zh/function.mb-substr.php http://baike.baidu.com/view/4517800.htm 方法1、字符串编码为UTF-8的,一个中文字符占三个字节: public static function chinesesubstr($str, $start, $len) { // $str指字符串,$start指字符串的起始位置,$len指字...