php截取中文字符
php中用substr()截取中文字符时会出现乱码。因为中文字符占两个字节,字节数和字符数不再是一一对应关系,所以出现截取不完整的情况。
php中用substr()截取中文字符时会出现乱码。因为中文字符占两个字节,字节数和字符数不再是一一对应关系,所以出现截取不完整的情况。
<?php
/**
* Hsubstr是一个截取中文字符串类
* @author pan <panxuzhengxuxin@gmail.com>
* @package
* @since 1.0
*/
class Hsubstr
{
function __construct($str,$start,$len)
{
$this->str=$str;
$this->start=$start;
$this->len=$len;
}
/**
* 截取的中文字符串,返回截到的字符串
* @return $temstr截取的中文字符串
*/
public function getStr()
{
//$endlen=$this->start+$this->len;
for ($i=0; $i <$this->len ; $i++)
{
if(ord(substr($this->str,$i,1))>0xa0)
{
$temstr.=substr($this->str, $i,2);
$i++;
}
else
{
$temstr.=substr($this->str, $i,1);
}
}
return $temstr;
}
}
?>
- 上一篇:php生成验证码
- 下一篇:后台隔5分钟发送email,email内容为html
精彩图集
精彩文章






