字符串按长度分割成数组函数

浏览:4750 发布日期:2012/11/04 分类:业务逻辑 关键字: php 字符串 分割
支持中文字符串
一个合适的unicode字符串分割函数/**
 * 将unicode字符串按传入长度分割成数组
 * @param  string  $str 传入字符串
 * @param  integer $l   字符串长度
 * @return mixed      数组或false
 */
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);
 }
例子:<?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 = "Il?k süt"; // Mild milk

 print_r(str_split($s, 3));
 print_r(str_split_unicode($s, 3));

 Array
 (
     [0] => Il?
     [1] => ?k 
     [2] => sü
     [3] => t
 )

 Array
 (
     [0] => Il?
     [1] => k s
     [2] => üt
 ) 
评论( 相关
后面还有条评论,点击查看>>