支持中文的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 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
PHP 引用是个坏习惯
Mar 12 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
Jun 21 PHP
PHP对MongoDB[NoSQL]数据库的操作
Mar 01 PHP
php数组使用规则分析
Feb 27 PHP
PHP 文件上传后端处理实用技巧方法
Jan 06 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
详解PHP实现支付宝小程序用户授权的工具类
Dec 25 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 PHP
PHP常用函数之根据生日计算年龄功能示例
Oct 21 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&amp;&amp;mysql)一
2006/10/09 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
10款实用的PHP开源工具
2015/10/23 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
PHP实现八皇后算法
2019/05/06 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
javascript填充默认头像方法
2018/02/22 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
详解Python中的__new__()方法的使用
2015/04/09 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
详解python中递归函数
2019/04/16 Python
Python中有几个关键字
2020/06/04 Python
阿里云:Aliyun.com
2017/02/15 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
建筑工程自我鉴定
2013/10/18 职场文书
数控专业大学生的自我鉴定
2013/11/13 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
高三学习决心书
2014/03/11 职场文书
篮球比赛策划方案
2014/06/05 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
2014年图书室工作总结
2014/12/09 职场文书