PHP每隔多少个添加换行同时不拆分掉单词

最近碰到一个数据处理的需求:要求是给很多段文字进行处理,每一行数据每隔29行添加换行,但是不能拆分掉单词,比如hello的h刚好在29位那么要在hello前就断开,不多说看代码,php是世界上最好的语言。

比如有其中的一句:Venham a mim, todos os que estão cansados e sobrecarregados, e eu darei descanso a vocês.

/**
 * 思路是先根据空格,把每个单词都放到数组,然后遍历数组
 * 将数组每个连接字串,如果连接成的字串大于28个那么放到结果数组resarray
 * 如果小于则继续串数组的下一个,直到数组遍历完
 * 最后再把结果数组的每一个连接就ok
 */
$word = 'Venham a mim, todos os que estão cansados e sobrecarregados, e eu darei descanso a vocês.';
$res = '';
$resarray = array();
$temp = explode(" ", $word);
foreach ($temp as $item){
    if((strlen($res) + strlen($item)) <= 28){
        $res .= ($item.' ');
    }else{
        $resarray[] = rtrim($res).'/n';
        $res = $item.' ';
    }
      // 刚好到最后一个结束也要放到结果数组
    if($item == $temp[count($temp)-1]){
        $resarray[] = $res;
    }
}
var_dump($resarray);
$total =  '\''.trim(implode('', $resarray)).'\','.PHP_EOL;
echo $total;

结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值