PHP chunk_split 函数详解

一、函数功能:
  将字符串按指定长度、使用指定字符分隔开来。
 
二、函数语法: 
string chunk_split($str [, $blocksize = 76 [, $endadd = "\r\n" ]])

三、函数参数:
参数描述
$str切割前的原始字符串
$blocksize可选,切割后的块长度,默认76
$endadd可选,在切割后的每块后面追加的字符串,默认回车换行符(\r\n)

四、返回值:
返回已分割的字符串。

五、用法举例:
1、将a-z 26个字母每7个字符使用一换行符(默认)分隔:
<?php
//爱E族:aiezu.com
echo chunk_split("abcdefghijklmnopqrstuvwxyz", 7);
输出:
abcdefg
hijklmn
opqrstu
vwxyz
 
2、将0-9十个字符,按2个字符、使用逗号(,)分隔:
<?php
//爱E族:aiezu.com
echo chunk_split("0123456789", 2, ",");
输出:
01,23,45,67,89,

3、为汉字实现chunk_split功能:
  由于chunk_split()函数只支持单字节字符的字符串,下面我们自定义一个能支持多字节字符(如汉字)、类似chunk_split()函数功能的函数。
<?php
//爱E族:aiezu.com
function utf8_chunk_split($str, $blocksize=76, $endadd="\r\n") {
    $i = 0;
    $blocks = array();
    while( $i < mb_strlen($str, 'utf8') ) {
        $blocks[] = mb_substr($str, $i, $blocksize, 'utf8') . $endadd;
        $i+= $blocksize;
    }
    return join("", $blocks);
}
echo chunk_split('好好学习abcd1234天天向上', 4, ";");
echo PHP_EOL;
echo utf8_chunk_split('好好学习abcd1234天天向上', 4, ";");
输出:
好㻥½嫻¦习;abcd;1234;天㻤©去上;

好好学习;abcd;1234;天天向上;

0 个评论

要回复文章请先登录注册