PHP怎么实现字符串翻转(包含中文汉字)
2012-09-16 18:16
411 查看
rt。
本文转载于《PHP怎么实现字符串反转》
小试一下:
<?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
character encoding
A multi-byte character is counted as 1.
本文转载于《PHP怎么实现字符串反转》
小试一下:
<?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 实现字符串翻转(包含中文汉字)
- jquery 多维数组实现PHP的count、in_array(不区分大小写),utf8字符串(包含中文,中文字符2个字节)字节统计
- C#、Java实现按字节截取字符串包含中文汉字和英文字符数字标点符号等
- PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换
- 从一个包含汉字和其他字符的字符串中截取指定字节长度的字符串,不可以出现中文乱码
- PHP字符串的翻转_原生实现
- PHP不使用任何内置函数实现字符串翻转
- PHP统计包含汉字的字符长度 ( 改善Smarty modifier.truncate.php 中文支持)
- php过滤字符串中重复的字符(包含中文)
- php中判断字符串是否全是中文或含有中文的实现代码
- php实现字符串翻转的方法
- 用javascript实现截取字符串包含中文处理的函数
- PHP实现字符串翻转不乱码
- 自己实现php UTF8中文字符串截取
- php strrev 中文字符串翻转乱码的问题
- php 对中文字符串的处理- 随机取出指定个数的汉字
- php中文字符串翻转