案例假设:

假设我有一个由英文字母、数字、中文字符组成的字符串,我想要往这个字符串的每两个字符中间加入一个百分号“%”.

例如:

把“Hurry的博客blog.csdn.net/jpr1990”变成“H%r%r%y%的%博%客%b%l%o%g%.%c%s%d%n%.%n%e%t%/%j%p%r%1%9%9%0”

那么我们怎么来实现呢?
  当然我们首先想到用"str_split"函数,但如果直接用PHP函数“str_split”来分割,会出现乱码,因为中文字符长度和英文字符长度是不一样的。但是我们可以建立新的函数先把字符转成ASCII值,接着通过判断不同字符的长度来正确分割中文字符串,把结果存入数组,最后再用PHP函数“join”在字符间插入百分号。具体代码如下:

function str_split_utf8($str){$split=1;$array=array();for($i=0;$i<strlen($str)){$value=ord($str[$i]);if($value>127){if($value>=192&&$value<=223) $split=2;elseif($value>=224 && $value<=239) $split=3;elseif($value>=240 && $value<=247) $split=4;}else{$split=1;}$key=NULL;for($j=0;$j<$split;$j++,$i++){$key.=$str[$i];}array_push($array,$key);}return $array;
}
$string="Hurry的博客blog.csdn.net/jpr1990";
$arr1=str_split_utf8($string);
echo join("%",$arr1);

附上PHP拆分普通字符串的方法:

$arr=explode("<br>",$str);
print_r($arr);
echo $arr[0]."-".$arr[1];

--Hurry

使用PHP拆分中文字符串的方法(收藏) 小节相关推荐

  1. python官网没有中文-python 检查是否为中文字符串的方法

    [目标需求] 查看某一个字符串是否为中文字符串 [解决办法] def check_contain_chinese(check_str): for ch in check_str: if u'一' &l ...

  2. PHP拆分中文字符串,逐个字打印,中文提取

    拆分中文字符串为数组 function str_split_unicode($str, $l = 0) {if ($l > 0) {$ret = array();$len = mb_strlen ...

  3. PHP截取中文字符串的方法

    2019独角兽企业重金招聘Python工程师标准>>> PHP截取中文字符串方法总结. 程序一:PHP截取中文字符串方法 由于网站首页以及vTigerCRM里经常在截取中文字符串时出 ...

  4. 从cpp向qml文件传中文字符串的方法

    Qt 使用Unicode编码来存储操作字符串,但很多情况下,我们不得不处理采用其他编码格式的数据,举例来说,中文多采用GBK和Big5编码,而日本则多采用Shift-JIS or ISO2022编码. ...

  5. java处理中文字符串_java中文字符串处理方法

    展开全部 处理方法32313133353236313431303231363533e78988e69d8331333337626166有分割,合并,等很多方法的 1.String类是final的,不可 ...

  6. php怎么截取中文第一个字符串,php中怎么截取中文字符串

    php中如何截取中文字符串? 众所周知php原生函数substr是不支持截取中文字符串的.下面的代码提供了多种截取php中文字符串的方法. 1. 截取GB2312中文字符串 0xa0) { $tmps ...

  7. PowerBuilder9对中文字符串的处理方法

    PowerBuilder9对中文字符串的处理方法 环境:PowerBuilder9.03 由于PB9没有对Unicode的支持函数,处理汉字的字符串只能自己写函数处理. 以下给len()定义函数of_ ...

  8. php怎麼讲$字段的值截取第一个字,PHP截取中文字符串方法总结

    程序一:PHP截取中文字符串方法 由于网站首页以及vTigerCRM里经常在截取中文字符串时出现乱码(使用substr),今天找到一个比较好的截取中文字符串方法,在此与大家共享. Copy to Cl ...

  9. php 字符串替换中文,PHP中文字符串替换其中为*的方法

    在项目中需要对字符串的部分进行隐藏或者替换.譬如手机号码的中间几位进行隐藏,中文名字的中间替换为*号等. 英文和数字等可直接用php的自带的函数进行处理.但是中文因为编码的缘故会出现不一样的效果.需要 ...

最新文章

  1. 亲历惊心48小时抢救35亿交易数据
  2. 为什么说 Java 中只有值传递?
  3. 轻量级3d模型查看器_你该试试这样来管理你的3D资产了 Connecter
  4. LeetCode 1377. T 秒后青蛙的位置(BFS)
  5. 【Top 50】中美人工智能高被引学者榜单:孙剑、何恺明、李飞飞进前5
  6. 物化视图实践(1)----实现远程数据同步
  7. ServerVersion 引发了“System.InvalidOperationException”类型的异常
  8. python中布尔值是什么意思_python中的布尔值是什么
  9. java网上订餐系统开题报告_网上订餐系统的设计与实现
  10. 《中国通史》学习记录
  11. Win7环境下STAF安装STAX遇到的问题及解决方法
  12. 如何往ncbi上上传数据
  13. 想要成为推荐算法工程师,都要准备哪些东西
  14. Win11 封杀第三方浏览器工具,不用 Edge 就不行
  15. 图像降噪算法matlab,数字图像去噪典型算法及matlab实现
  16. 用mysql编资产负债表_资产负债表如何编制!
  17. Qmail 日志文件格式
  18. 杂事缠身总分神,不妨试试番茄钟,亲测有效
  19. 解读Datasheet系列:W25Q80DV(华邦 SPI Flash)
  20. echarts地图api series_echarts实现中国地图数据展示

热门文章

  1. mfc调取摄像头显示并截图_利用MFC来显示摄像头并拍照
  2. matlab2012教程答案,MATLAB教程2012a第6章习题解答-张志涌
  3. 在Android Studio中使用Lambda
  4. cas-ESM 安装教程
  5. 1 EXECL的查找:(1)精确查找,(2)模糊查找,(3)查多个符合条件的第1个或最后1个
  6. Excel如何模糊匹配查找并高亮显示结果为黄色
  7. 新梓航无限建站系统Duson_systemV4.4.3+多模板
  8. css 设置好看的背景效果(毛玻璃)
  9. Jmeter对基于websocket协议的压力测试
  10. “美云启航 智数未来”——美云智数产品发布会圆满召开