wordwrap
のマルチバイト対応のものを漁ってみましたが、smartyを入れないといけなかったり(面倒)、なんか不安。
要するに似た動きしてくれて、内部コードが保証されててメンテしやすければOK!
#これでどうだ!#
mb_wordwrap
public function mb_wordwrap( $str, $width=35, $break=PHP_EOL )
{
$c = mb_strlen($str);
$arr = [];
for ($i=0; $i<=$c; $i+=$width) {
$arr[] = mb_substr($str, $i, $width);
}
return implode($break, $arr);
}
基本的に日本語横書き文書は35文字で改行し、単語を途中で切るのも受け入れられているし(ただ、とんでもない意味の語彙に変化することがあるが…)これでよし。
ほら〜期待通り動く。ソースの見通しもいいね。