支持中文的PHP按字符串长度分割成数组代码


Posted in PHP onMay 17, 2015

以下是我编写的代码,实现对中英文混杂字符进行分割:

<?php
function mbStrSplit ($string, $len=1) {
  $start = 0;
  $strlen = mb_strlen($string);
  while ($strlen) {
    $array[] = mb_substr($string,$start,$len,"utf8");
    $string = mb_substr($string, $len, $strlen,"utf8");
    $strlen = mb_strlen($string);
  }
  return $array;
}

header('Content-type:text/html;charset=utf-8');
$str = '我爱北京3我爱上海-我爱xianggang';
$r = mbStrSplit($str, 4);
echo '<pre>';
print_r($r);
echo '</pre>';
?>

运行结果:

Array
(
  [0] => 我爱北京
  [1] => 3我爱上
  [2] => 海-我爱
  [3] => xian
  [4] => ggan
  [5] => g
)




<?php
 function str_split_unicode($str, $l = 0) {
 if ($l > 0) {
 $ret = array();
 $len = mb_strlen($str,"UTF-8");
 for ($i = 0; $i < $len; $i += $l) {
 $ret[] = mb_substr($str, $i, $l,"UTF-8");
}
 return $ret;
}
 return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
}
?>
 $s ="还未如愿sss见gfg者不rtret不朽"; // Mild milk
 print_r(str_split($s, 5));
 print_r(str_split_unicode($s, 5));

//输出
 //Array ( [0] => 还�� [1] => �如� [2] => ��sss [3] => 见gf [4] => g者� [5] => ��rtr [6] => et不 [7] => 朽 )
 //Array ( [0] => 还未如愿s [1] => ss见gf [2] => g者不rt [3] => ret不朽 )

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
提升PHP速度全攻略
Oct 09 PHP
PHP操作数组相关函数
Feb 03 PHP
解决file_get_contents无法请求https连接的方法
Dec 17 PHP
PHP内核探索:变量存储与类型使用说明
Jan 30 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
最新最全PHP生成制作验证码代码详解(推荐)
Jun 12 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
Oct 10 PHP
php 批量查询搜狗sogou代码分享
May 17 #PHP
PHP解密Unicode及Escape加密字符串
May 17 #PHP
PHP实现远程下载文件到本地
May 17 #PHP
PHP生成json和xml类型接口数据格式
May 17 #PHP
php实现文本数据导入SQL SERVER
May 17 #PHP
php中PDO方式实现数据库的增删改查
May 17 #PHP
PHP图像处理类库及演示分享
May 17 #PHP
You might like
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
PHP 反向排序和随机排序代码
2010/06/30 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现socket端口重定向示例
2014/02/10 Python
python基础教程之面向对象的一些概念
2014/08/29 Python
Centos5.x下升级python到python2.7版本教程
2015/02/14 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
python框架django项目部署相关知识详解
2019/11/04 Python
对pytorch的函数中的group参数的作用介绍
2020/02/18 Python
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
社区敬老月活动实施方案
2014/02/17 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
2014年个人总结范文
2015/03/09 职场文书
高中家长意见怎么写
2015/06/03 职场文书
2016年感恩节寄语
2015/12/07 职场文书
《打电话》教学反思
2016/02/22 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
详解CocosCreator消息分发机制
2021/04/16 Javascript
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
Java内存模型之happens-before概念详解
2021/06/13 Java/Android