支持中文的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 相关文章推荐
PHP 和 COM
Oct 09 PHP
使用php+xslt在windows平台上
Oct 09 PHP
php在window iis的莫名问题的测试方法
May 14 PHP
提高PHP性能的编码技巧以及性能优化详细解析
Aug 24 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
PHP中的事务使用实例
May 26 PHP
php模板引擎技术简单实现
Mar 15 PHP
ThinkPHP的SAE开发相关注意事项详解
Oct 09 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
PHP lcfirst()函数定义与用法
Mar 08 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
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
php随机显示图片的简单示例
2014/02/15 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
非常重要的php正则表达式详解
2016/01/04 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
PHP7变量处理机制修改
2021/03/09 PHP
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
JQuery 的跨域方法推荐_可跨任何网站
2016/05/18 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
推荐一个基于Node.js的表单验证库
2019/02/15 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
python中解析json格式文件的方法示例
2017/05/03 Python
理论讲解python多进程并发编程
2018/02/09 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
编辑找工作求职信范文
2013/12/16 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
商铺消防安全责任书
2014/07/29 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
表彰大会新闻稿
2015/07/17 职场文书
党员反邪教心得体会
2016/01/15 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python
解决Golang中goroutine执行速度的问题
2021/05/02 Golang
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技