支持中文的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不使用插件导出excel的简单方法
Mar 04 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
php获取图片信息的方法详解
Dec 10 PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 PHP
php自定义函数实现二维数组按指定key排序的方法
Sep 29 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP实现的ID混淆算法类与用法示例
Aug 10 PHP
Laravel框架实现的批量删除功能示例
Jan 16 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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 中dirname(_file_)讲解
2007/03/18 PHP
深入解析php中的foreach问题
2013/06/30 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
python查看FTP是否能连接成功的方法
2015/07/30 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
Python异常处理操作实例详解
2018/08/28 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
波兰珠宝品牌:YES
2019/08/09 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
《藏戏》教学反思
2014/02/11 职场文书
超市活动计划书
2014/04/24 职场文书
安全演讲稿开场白
2014/08/25 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
毕业班工作总结
2015/08/10 职场文书
小学校本教研总结
2015/08/13 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
Python绘制散乱的点构成的图的方法
2022/04/21 Python