PHPで日本語を1文字ずつ分解する方法

PHPで文字列を1文字ずつ分解するには次のようにします。

$word = "ARAI";
$parts = str_split($word);

結果は次のとおりです。

Array
(
    [0] => A
    [1] => R
    [2] => A
    [3] => I
)

ただし、この方法は日本語だとうまくいきません。
正規表現を使って分割する「preg_split」で試してみました。

$word = "新井貴浩";
$parts = preg_split("/\B/u", $word);

「\B」は「非単語境界」という意味です。「u」は「UTF8」の意味です。
これらを使うとうまくできました。結果は次のとおりです。

Array
(
    [0] => 新
    [1] => 井
    [2] => 貴
    [3] => 浩
)

コメント

  1. […] PHP で日本語を1文字ずつ分解する方法 | You Look Too Cool […]

タイトルとURLをコピーしました