doudonn WEB制作やサーバーの話とかいろいろ

マルチバイト文字列をPHPで2文字ずつなどに分割して出力する方法

doudonn 更新日:
マルチバイト文字列をPHPで2文字ずつなどに分割して出力する方法

文字列を2文字ずつ、3文字ずつと分割したいときがあります。
だいたい悪いことを考えているときですが…

1、実現したいこと

//これを
今日もPHPが楽しいでございます。

//こうしたい
今日 もP HP が楽 しい でご ざい ます 。

このやり方を解説します。

2、サンプルコード

$mojiretu = "分割したい文字列";

$bunkatu = preg_split("//u", $mojiretu, -1, PREG_SPLIT_NO_EMPTY);
$mojisuu = count($bunkatu);

for($i=0; $i < $mojisuu;){
echo $bunkatu[$i].$bunkatu[$i+1]." ";
$i = $i + 2;
}

まずは文字列を1文字ずつに分割します。
マルチバイト文字列でも、「preg_split」を使えばここは簡単。

次に配列の総数をカウントします。
その総数を上限にforで繰り返し処理。

最後は余りが出てしまいますが、空が出力されるので特に問題なし。
ここが気になる人はifなどで処理ください。

いろいろなやり方を試しましたが、
これがおそらく一番早い処理だと思います。
さくっと表示される。

ググっても全くこのやり方が書いていなかったので、
ここで紹介しておきます。
是非活用ください。

PHP全般の関連記事

記事一覧はこちら:PHP全般

管理人について
doudonn
名前:doudonn(どうどん)
ひたすらWEB制作な人。
一応社長です。音ゲー好き

お知らせ

2022年11月30日に全記事削除しました。
無駄にページ表示速度にこだわってます。

役立ちサイト
wiki
© 2022-2023 doudonn All Rights Reserved.