支持中文的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函数
Feb 16 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
Laravel框架学习笔记(一)环境搭建
Oct 15 PHP
php中socket的用法详解
Oct 24 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
实例讲解PHP表单处理
Feb 15 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
Oct 10 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 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
咖啡的传说和历史
2021/03/03 新手入门
PHP判断图片格式的七种方法小结
2013/06/03 PHP
PHP产生不重复随机数的5个方法总结
2014/11/12 PHP
php生成html文件方法总结
2014/12/01 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
动手学习无线电
2021/03/10 无线电
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
JavaScipt基本教程之前言
2008/01/16 Javascript
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
python添加模块搜索路径方法
2017/09/11 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
python 利用toapi库自动生成api
2020/10/19 Python
python palywright库基本使用
2021/01/21 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
如何开发安全的AJAX应用
2014/03/26 面试题
Delphi工程师笔试题
2013/09/21 面试题
应届生人事助理求职信
2013/11/09 职场文书
初中女生自我鉴定
2013/12/19 职场文书
银行员工职业规划范文
2014/01/21 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
英语辞职信范文
2015/02/28 职场文书
python入门学习关于for else的特殊特性讲解
2021/11/20 Python