parudou
parudou
parudou
更新日:2019/04/09

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

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


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

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

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

サンプルコード


$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などで処理ください。

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

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

是非ご感想・ご指摘等をください。

プロフィール

管理人:parudou
単なるWEBサイト作成マニアです。
底辺法人アフィリエイター。
Twitterはこちら

日記はパルどうSEOブログ

閲覧履歴
履歴なし
カテゴリー
Copyright (c) parudou All Rights Reserved.