【转】PHP怎么实现字符串翻转(包含中文汉字)
2014-02-17 19:24
417 查看
转载自:http://blog.csdn.net/w_jewelry/article/details/7985048
目前发现的一种比较好的方法:
输出结果如下:
对于mb_strlen,手册中有一句:
Returns the number of characters in string
character encoding
A multi-byte character is counted as 1.
目前发现的一种比较好的方法:
<?php header("content-type:text/html;charset=utf-8"); /** 此函数的作用是反转中文字符串 mb_strlen() 获取字符的长度 mb_substr() 获取字符的单个元素 krsort() 按照键值逆序排序数组 implode() 将数组拼接为字符串 explode() 使用字符串分隔字符串 */ function str_rev_gb($str){ //判断输入的是不是utf8类型的字符,否则退出 if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){ exit("输入类型不是UTF8类型的字符串"); } $array=array(); //将字符串存入数组 $l=mb_strlen($str,'UTF-8'); for($i=0;$i<$l;$i++){ $array[]=mb_substr($str,$i,1,'UTF-8'); } //反转字符串 krsort($array); //拼接字符串 $string=implode($array); return $string; } $str1 = "Englist"; $str2 = "English中国"; $str3 = "Eng中lish国"; $str4 = "中华人民共和国"; echo $str1."->".str_rev_gb($str1)."<br>"; echo $str2."->".str_rev_gb($str2)."<br>"; echo $str3."->".str_rev_gb($str3)."<br>"; echo $str4."->".str_rev_gb($str4)."<br>";
输出结果如下:
对于mb_strlen,手册中有一句:
Returns the number of characters in string
strhaving
character encoding
encoding.
A multi-byte character is counted as 1.
相关文章推荐
- PHP怎么实现字符串翻转(包含中文汉字)
- PHP怎么实现字符串翻转(包含中文汉字)
- PHP 实现字符串翻转(包含中文汉字)的实现代码
- PHP 实现字符串翻转(包含中文汉字)
- PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换
- C#、Java实现按字节截取字符串包含中文汉字和英文字符数字标点符号等
- jquery 多维数组实现PHP的count、in_array(不区分大小写),utf8字符串(包含中文,中文字符2个字节)字节统计
- PHP实现过滤掉非汉字字符只保留中文字符
- PHP中使用substr()截取字符串出现中文乱码问题该怎么办
- 利用perl、python、php、shell、sed、awk、c 实现字符串的翻转
- php实现过滤字符串中的中文和数字实例
- php中实现字符串翻转的方法
- php正则判断字符串是否包含中文或特殊字符等
- php中判断字符串是否全是中文或含有中文的实现代码
- 用javascript实现截取字符串包含中文处理的函数
- php中判断字符串是否全是中文或含有中文的实现代码
- php简单实现多字节字符串翻转的方法
- php匹配中文代码(字符串中包含中文或者全是中文)
- C#实现判断字符串中是否包含中文的方法
- PHP 中文字符串截取和翻转函数