支持中文的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获取数组中重复数据的两种方法
Jun 28 PHP
九个你必须知道而且又很好用的php函数和特点
Aug 08 PHP
php 批量添加多行文本框textarea一行一个
Jun 03 PHP
PHP中file_get_contents高?用法实例
Sep 24 PHP
php中stdClass的用法分析
Feb 27 PHP
php实现QQ空间获取当前用户的用户名并生成图片
Jul 25 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
php-7.3.6 编译安装过程
Feb 11 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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图像验证码生成代码
2017/06/08 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
xtree.js 代码
2007/03/13 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
node.js获取参数的常用方法(总结)
2017/05/29 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
使用keras和tensorflow保存为可部署的pb格式
2020/05/25 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
丧事主持词大全
2014/04/02 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
2014年统计工作总结
2014/11/21 职场文书
工程部经理岗位职责
2015/02/02 职场文书
事业单位年度考核个人总结
2015/02/12 职场文书
体检通知范文
2015/04/21 职场文书
党支部综合考察意见
2015/06/01 职场文书
Python机器学习之逻辑回归
2021/05/11 Python
为Centos安装指定版本的Docker
2022/04/01 Servers