PHP中文字符串截取 utf-8编码

PHP 2012-12-26

代码如下:

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

例子(UTF-8一个中文占3个字符):

$str = '一二三四';
echo utf8Substr($str,0,1);

结果为 : 一

$str = '一二三四';
echo utf8Substr($str,strlen($str)/3-1,1);

结果为 : 四


本文由 Jazzy 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论