php substr中文乱码解决办法
1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。
2、自己书写截取函数,但效率不如用mbstring扩展库来得高。
3、如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0)。
* 可以避免乱码的截取汉字
* 参数 $str 为字符串,$start 为开始字符,$len 结束字符
* 返回截取后的字符
*/
function msubstr($str, $start, $len) {
$tmps教程tr = "";
$strlen = $start $len;
for($i = 0; $i < $strlen; $i ) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i ;
} else
$tmpstr .= substr($str, $i, 1);
}
return $tmpstr;
}
//方法二 php实现中文字串截取无乱码的方法 www.jiaochengji.com
function gbsubstr($string, $start, $length) {
if(strlen($string)>$length){
$str=null;
$len=$start $length;
for($i=$start;$i<$len;$i ){
if(ord(substr($string,$i,1))>0xa0){
$str.=substr($string,$i,2);
$i ;
}else{
$str.=substr($string,$i,1);
}
}
return $str.'...';
}else{
return $string;
}
}
?>
您可能感兴趣的文章:
php substr中文乱码解决办法
php截取中文字符串乱码如何解决呢
php分割GBK中文乱码的解决方法
php中文字符串截取方法
解决php截取utf-8中文字符串时乱码的问题
php无乱码切割中文字符
php中文乱码问题总结与解决办法
php网页标题中文乱码如何解决
php函数substr截取中文字符出现乱码的解决方法
php截取字符串实例代码