大麦田 发表于 2014-9-13 15:56:50

[PHP API档案] chunk_split

将字符串分割成小块

函数原型:
string chunk_split( string $body[, int $chunklen= 76[, string $end= "\r\n"]] )
函数功能:
使用此函数将字符串分割成小块非常有用。
函数参数:

参数 含义
$body 需要分割的字符
$chunklen 默认分割的长度 76
$end 默认分隔符 \r\n, 因为主流系统太蛋疼
windows 系统 用 \r\n换行
mac osx系统 用 \r   换行
linux       系统用 \n换行


函数实例:
<?php
$str = "只会幻想而不行动的人,永远也体会不到收获果实时的喜悦。";

//使用base64形式,进行加密
$str_base64 = base64_encode($str);

// 使用 RFC 2045 语义格式化 $str_base64, 默认换行长度为76,下面两个使用结果一致
// nl2br,将字符串换行符\n转化成网页换行标签<br />
$rfc_base64 = chunk_split($str_base64);
$rfc76_base64 = chunk_split($str_base64, 76);

var_dump(nl2br($rfc_base64));
echo "<br />";

var_dump(nl2br($rfc76_base64));
echo "<br />";
?>

进阶:
<?php
//思考下,如何将 “静夜思” 这首诗,变成诗分成4行显示。
$tang_poetry = "床前看月光,疑是地上霜。抬头望山月,低头思故乡。";
/**
* 床前看月光,
* 疑是地上霜。
* 抬头望山月,
* 低头思故乡。
*/
//strlen($str) 将获得字符串长度
$tang_poetry_split = chunk_split($tang_poetry, strlen($tang_poetry) / 4);

echo nl2br($tang_poetry_split);
?>


函数注意:

在使用RFC 2045 - 多用途网际邮件扩充协议,传输邮件内容时:
需要使用base64_encode()编码后字符串,然后每76个字符后,插入 \r\n。
一般php发送email时,使用mail函数。
如下:
$rfc_base64 = chunk_split(base64_encode($str));

鱼C侦探团
页: [1]
查看完整版本: [PHP API档案] chunk_split