PHP
中文分割
在串接硬體列印時,經常會遇到需要手動將過長字串折行的問題,以下為範例:
<?php
//原始字串
$str = '安裝 Laravel 之後,你必須設定一些權限。storage 和 bootstrap/cache 目錄中的目錄必須讓你的伺服器有寫入權限,否則 Laravel 就無法執行。';
//每行字串的字元數
$str_row_len = 23;
//存放字串陣列
$arrStr = [];
//判斷是否還需要切割
while(mb_strlen($str)>0){
//將切割的字串放到$str_tmp
$str_tmp = mb_strimwidth($str, 0, $str_row_len);
//取得剩餘字串,此處擷取長度必須使用mb_strwidth($str),才能獲取真正長度
$str = mb_strimwidth($str,mb_strlen($str_tmp),mb_strwidth($str));
//存放字串
$arrStr[] = $str_tmp;
}
echo print_r($arrStr,1);
?>
//輸出
Array
(
[0] => 安裝 Laravel 之後,你必
[1] => 須設定一些權限。storage
[2] => 和 bootstrap/cache 目
[3] => 錄中的目錄必須讓你的伺
[4] => 服器有寫入權限,否則 La
[5] => ravel 就無法執行。
)