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;

結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章