php 字符串转换成打散的单个字符组成的数组
字符串转换成打散的单个字符组成的数组 [代码片段(73行)]
/** * 可以统计中文字符串长度的函数 * @param $str 要计算长度的字符串 */ 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]); } } /* * 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)); } } } function str_to_arr($str = '') { $arr = array(); $str_length = abslength($str); for($i = 0; $i < $str_length; $i++) { $arr[] = utf8_substr($str, $i, 1); } return $arr; } //该片段来自于http://outofmemory.cn
精彩图集
精彩文章