截取字符串的问题
截取英文字符串的函數:substr();
但是有個問題就是截取中文字符串時,一個中文相當于2個或者3個英文字符串的字節數,
解決辦法:
1、用mb_substr()函數,它有第四個參數可以指定編碼格式;
2、開啟php.ini的中文字符串的擴展,即extension=php_mbstring.dll;這個擴展開啟之后可以用Smarty模板引擎中的truncate調節器;
3、重新封裝一個截取字符串的函數:
function mbsubstr( $str, $start, $len){
$strlen = $start + $len;
for( $i=$start; $i<$strlen; $i++ ){
if( ord( substr( $str, $i, 1)) > 0xa0){
if( charset == utf-8){ return substr( $str, $i, 3);}
elseif( charset == gb2312){ return substr( $str, $i, 2);}
}else{
return substr($str, $i, 1);
}
}
}
轉載于:https://www.cnblogs.com/cbony/p/7800513.html
總結
- 上一篇: UNION、UNION ALL和EXIS
- 下一篇: Azure SQL Database (