支持中文的PHP按字符串长度分割成数组代码

5年以前  |  阅读数:392 次  |  编程语言:PHP 

以下是我编写的代码,实现对中英文混杂字符进行分割:


    <?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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例