中文字符串翻转

/**
*翻转utf格式的字符串,使用正则和数组实现
*@param  string $str
*@return string
*/
function strrvev_utf8($str){
   return join("," , array_reverse(preg_split("//u" , $str)));
}

$str = "博客园";
echo strrev_utf8($str);   //园客博

原文地址:https://www.cnblogs.com/zwtqf/p/9909347.html

时间: 2024-10-16 11:32:00

中文字符串翻转的相关文章

php 中文字符串翻转

php 自带的字符串翻转函数 strrev() 只支持英文,不支持中文,在网上找到了一个方法,支持中英文: <?php function reverse($str, $encode = 'UTF-8') {     $n = mb_strlen($str, $encode);     $new_str = "";     for ($i = $n; $i >= 0; $i--) {         $new_str .= mb_substr($str, $i, 1, $en

实现中文字符串翻转

<?phpheader("content-type:text/html;charset=utf-8");$str='蝴蝶不会吧淀粉和发后你能进的不会把电话';function  strReverse($str){    $len=mb_strlen($str,"utf-8");    for($i=0;$i<$len;$i++)    {        $data[]=mb_substr($str,$i,1,'utf-8');    }    $data

PHP 统计中文字符串的长度

中文网站一般会选择两种编码:gbk/gb2312或是utf-8. gbk编码下每个中文字符所占字节为2,例: $zhStr = ‘您好,中国!’; echo strlen($zhStr); // 输出:12 UTF-8编码下每个中文字符占3个字节. $zhStr = ‘您好,中国!’; echo strlen($zhStr); // 输出:18 那么如何计算这组中文字符串的长度呢?有人可能会说gbk下获取中文字符串长度除以2,utf-8编码下除以3不就行了吗?但是您要考虑字符串并不老实,99%的

PHP截取中文字符串不出现?号的解决方法[原创]

PHP截取中文字符串不出现?号的解决方法[原创] 大 | 中 | 小 [不指定 2007-8-15 18:51 | by 张宴 ] [文章作者:张宴 本文版本:v1.0 最后修改:2007.08.15 转载请注明出处:http://blog.zyan.cc] 当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字 view plainprint? <?php $text = "1欢迎访问sina新浪播客"; $value = substr($tex

字符串翻转,单词内不翻转

字符串翻转,单词内不翻转.如I am from Chongqing->Chongqing from am I 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 5 void reverse(char *str, int beg, int end); 6 void reverseSentece(char *str); 7 int main() 8 { 9 char str[128]; 10

php中文字符串截取方法实例总结

本文实例总结了php中文字符串截取方法,非常实用的技巧.具体方法分析如下: 1.使用mbstring扩展库的mb_substr截取就不会出现乱码了. 2.自己书写截取函数,但效率不如用mbstring扩展库来得高. 3.如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0). substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函 数,mb_substr()/mb_str

php中计算中文字符串长度、截取中文字符串

在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理.在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务器,则只要在php.ini中开启即可.如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱国情的函数来了. 以下几个函数用起来颇为顺手的.不过要知道,得在utf-8环境下使用. header

自定义一个函数截取中文字符串

/** * 截取中文字符串 * @param unknown $str 要截取的字符串 * @param unknown $encode 字符编码 * @param unknown $start 开始位置 * @param string $len 要截取的长度 * @return string */function getStr($str,$encode,$start,$len=null){ switch ($encode) { case 'utf8':$num = 3;break; case

字符串翻转

字符串翻转 对于一个给定的字符串,我们需要在线性(也就是O(n))的时间里对它做一些变形.首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把着个字符串中由空格隔开的单词反序,同时反转每个字符的大小写.比如"Hello World"变形后就变成了"wORLD hELLO". 输入描述: 给定一个字符串s以及它的长度n(1≤n≤500) 输出描述: 请返回变形后的字符串.题目保证给定的字符串均由大小写字母和空格构成