Edited at

[PHP]マルチバイト対応のwordwrapが無いから作った

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文字で改行し、単語を途中で切るのも受け入れられているし(ただ、とんでもない意味の語彙に変化することがあるが…)これでよし。

ほら〜期待通り動く。ソースの見通しもいいね。