PHP头条
热点:

中文字符串长度php代码


下面代码可以判断混合体的字符串中中文字符串的长度的一个函数,因为php不支持中文计算所以我们专业自定义了一个函数。

下面代码可以判断混合体的字符串中中文字符串的长度的一个函数,因为php教程不支持中文计算所以我们专业自定义了一个函数。

header('Content-type:text/html;charset=utf-8'); 
/** 
* 可以统计中文字符串长度的函数 
* @param $str 要计算长度的字符串 
* @param $type 计算长度类型,0(默认)表示一个中文算一个字符,1表示一个中文算两个字符 
* 
*/ 
function abslength($str) 
{ 
if(empty($str)){ 
return 0; 
} 
if(function_exists('mb_strlen')){ 
return mb_strlen($str,'utf-8'); 
} 
else { 
preg_match_all("/./u", $str, $ar); 
return count($ar[0]); 
} 
} 
$str = '我们都是中国人啊,ye!'; 
$len = abslength($str); 
var_dump($len); //return 12 
$len = abslength($str,'1'); 
echo '
'.$len; //return 22 /* utf-8编码下截取中文字符串,参数可以参照substr函数 @param $str 要进行截取的字符串 @param $start 要进行截取的开始位置,负数为反向截取 @param $end 要进行截取的长度 */ function utf8_substr($str,$start=0) { if(empty($str)){ return false; } if (function_exists('mb_substr')){ if(func_num_args() >= 3) { $end = func_get_arg(2); return mb_substr($str,$start,$end,'utf-8'); } else { mb_internal_encoding("UTF-8"); return mb_substr($str,$start); } } else { $null = ""; preg_match_all("/./u", $str, $ar); if(func_num_args() >= 3) { $end = func_get_arg(2); return join($null, array_slice($ar[0],$start,$end)); } else { return join($null, array_slice($ar[0],$start)); } } } $str2 = 'wo要截取zhongwen'; echo '
'; echo utf8_substr($str2,0,-4); //return wo要截取zhon

www.phpzy.comtrue/php/36754.htmlTechArticle中文字符串长度php代码 下面代码可以判断混合体的字符串中中文字符串的长度的一个函数,因为php不支持中文计算所以我们专业自定义了一个函数。 下面代码可以判断混合体的字符串...

相关文章

PHP之友评论

今天推荐