学习使用php分隔中文字符串为指定长度封装函数mb_chunk_split

本文展示了如何使用PHP的mb_chunk_split函数将字符串按指定长度分隔,并在处理过程中追加特定字符。同时,文章还演示了如何处理包含多个字符串的列表,确保每个字符串的长度不超过特定限制。此方法适用于文本内容的格式化和排版,特别是在制作节目推荐列表或情景剧本等场景中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习使用php分隔字符串为指定长度


<?php


/**
 * 分割字符串
 * @param String $str 要分割的字符串
 * @param int $length 指定的长度
 * @param String $end 在分割后的字符串块追加的内容
 */

function mb_chunk_split($string, $length, $end, $once = false)
{

    $array = array();
    $strlen = mb_strlen($string);

    while ($strlen) {
        $array[] = mb_substr($string, 0, $length, "utf-8");
        if ($once) {
            return $array[0] . $end;
        }
        $string = mb_substr($string, $length, $strlen, "utf-8");
        $strlen = mb_strlen($string);
    }

    return implode($end, $array);
}

$str = '3、8部情景剧同台PK 在业内顶尖创投总监 和顾问团队的助力孵化下最终1个“剧王”获得机会 在东方卫视黄金剧场上线';


echo mb_chunk_split($str, 15, '\n', false);


$tuijian_list = [
    '1、节目定位:全新情景剧 I P 创投综艺',
    '2、东方卫视 S + 级项目',
    '3、8部情景剧同台PK 在业内顶尖创投总监 和顾问团队的助力孵化下最终1个“剧王”获得机会 在东方卫视黄金剧场上线',
    '4、打造充满沉浸感的情景剧舞美场景',
    '5、你邀嘉宾:张一山、沙溢、闫妮、姚晨、吴镇'
];


echo "<pre>";
print_r($tuijian_list);

$hangshu = count($tuijian_list);
$text_str ='';

//重新循环,计算高度
foreach ($tuijian_list as $k => $v) {
    //文字长度
    $str_len = mb_strlen($v, 'utf-8');
    //超过多少个字就换行
    if ($str_len >= 30) {
        $tuijian_list[$k] = mb_chunk_split($v, 30, '\n   ', false);
    }
    //拼接字符串
    $text_str .= $tuijian_list[$k] . '\n';
    unset($str_len);
}

echo $text_str;
echo "<br><br>";

$hao = explode('\n',$text_str);

echo "<pre>";
print_r($hao);

echo count($hao);


?>


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值