mrytsr PHP截取中文字符串,无乱码,基于正则
2015-01-03 21:35
344 查看
/** * @brief strlen_mb 计算字符串长度,支持中文,自动检测编码,UTF-8与GBK测试通过 * * @param $str * * @return */ function strlen_mb($str){ $mb_len = mb_detect_encoding($str) == 'UTF-8' ? 2 : 1; $patt = '/([\x00-\x7f]|[\x80-\xff].{' . $mb_len . '})/'; $match = preg_match_all($patt, $str, $groups); if($groups){ return count($groups[0]); }else{ return false; } } /** * @brief substr_mb 截取字符串,中文防乱码,自动检测编码,UTF-8与GBK测试通过 * * @param $str * @param $start * @param $len * * @return */ function substr_mb($str, $start, $len){ $mb_len = mb_detect_encoding($str) == 'UTF-8' ? 2 : 1; $patt = '/([\x00-\x7f]|[\x80-\xff].{' . $mb_len . '}){' . $len . '}/'; preg_match($patt, $str, $groups); if($groups){ return $groups[0]; }else{ return false; } } echo '<meta charset=utf-8>'; $str = '北京dd欢迎你'; for($i = 0; $i <= strlen_mb($str); $i++){ var_dump(substr_mb($str, 0, $i)); }
相关文章推荐
- php截取中文字符串解决乱码问题
- php用正则表达式截取中文字符串的函数
- php 中文字符串截取乱码
- 解决php中截取字符串的中文乱码问题
- php截取中文字符串时乱码问题
- php中文字符串截取乱码问题解决
- php 中文字符串截取乱码
- PHP utf-8中文截取无乱码(字符串判断版本)
- PHP中的字符串截取函数,取子符串,以保证中文不出现乱码
- PHP截取字符串完美版,不用担心中文截取乱码
- php截取中文字符串无乱码的函数(主函数:ord()、substr())
- php截取中文字符串不乱码的方法
- 用PHP来截取中文字符串而不出现乱码的实现方法
- PHP 截取中文字符串乱码问题
- PHP中文字符串截取无乱码方法,php汉字截取函数_preg_split()
- php解决中文字符串截取的乱码问题
- php中文字符串截取乱码问题解决
- 用php截取utf-8中文字符串乱码的解决方法
- php截取utf-8中文字符串乱码的解决方法
- php截取中文字符串不乱码的方法