首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php中怎么截取中文字符串

2012-11-05 
php中如何截取中文字符串?众所周知php原生函数substr是不支持截取中文字符串的。下面的代码提供了多种截取p

php中如何截取中文字符串?
众所周知php原生函数substr是不支持截取中文字符串的。下面的代码提供了多种截取php中文字符串的方法。

1. 截取GB2312中文字符串

< ?php/** * @package     BugFree * @version     $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $ * * * Return part of a string(Enhance the function substr()) * * @author                  Chunsheng Wang <wwccss@263.net> * @param string  $String  the string to cut. * @param int     $Length  the length of returned string. * @param booble  $Append  whether append "...": false|true * @return string           the cutted string. */function sysSubStr($String,$Length,$Append = false){    if (strlen($String) < = $Length )    {        return $String;    }    else    {        $I = 0;        while ($I < $Length)        {            $StringTMP = substr($String,$I,1);            if ( ord($StringTMP) >=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 = "17test.info 走在中国自动化测试的前沿";$Length = "18";$Append = false;echo sysSubStr($String,$Length,$Append);?>

热点排行