0xa0) {$tmpstr .= substr($str, $i,"> 跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

PHP 截取字符串函数整理(支持gb2312和utf-8)

1、截取GB2312字符用的函数

PHP代码复制代码代码如下:php//截取中文字符串function mysubstr($str, $start, $len) {$tmpstr = "";$strlen = $start + $len;for($i = 0; $i if(ord(substr($str, $i, 1)) > 0xa0) {$tmpstr .= substr($str, $i, 2);$i++;} else$tmpstr .= substr($str, $i, 1);}return $tmpstr;}?>

2. 截取utf8编码的多字节字符串

PHP代码复制代码代码如下:php

'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$str);}?>

3. UTF-8、GB2312都支持的汉字截取函数

PHP代码复制代码代码如下:php
$sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";return join('', array_slice($t_string[0], $start, $sublen));}else{$start = $start*2;$sublen = $sublen*2;$strlen = strlen($string);$tmpstr = '';for($i=0; $i{if($i>=$start && $i{if(ord(substr($string, $i, 1))>129){$tmpstr.= substr($string, $i, 2);}else{$tmpstr.= substr($string, $i, 1);}}if(ord(substr($string, $i, 1))>129) $i++;}if(strlen($tmpstr)return $tmpstr;}}$str = "abcd需要截取的字符串";echo cut_str($str, 8, 0, 'gb2312');?>4. BugFree 的字符截取函数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("",$StringLast);if($Append){$StringLast .= "...";}return $StringLast;}}$String = "book.chinaz.com -- 站长书库、站长教程";$Length = "18";$Append = false;echo sysSubStr($String,$Length,$Append);?>

相关文章