• ベストアンサー

PHP 空白文字で分割したい

$text = "日本 中国 オランダ" を 日本, 中国, オランダのように分割するために、 以下のコードを書きました。 preg_split("/[\s]+/", $text); しかし、全角スペースの時も分割したいので、正規表現を/[ \s]+/とすると、preg_splitの返す配列に期待したものが、入りません。なぜか空文字("")が含まれます。 どうすれば、全角スペースに対応できるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ちゃんと返ってきますが。 <?php $text = "日本 中国 オランダ ロシア"; $result = preg_split("/[\s ]+/", $text); var_dump($result);

newtgecko
質問者

お礼

ご回答ありがとうございます。私の環境ではうまくいかないんですよね。 いろいろ、調べた結果、うまくいくコードがかけました。 $text = mb_convert_kana($text, 's', 'UTF-8'); $keywords = preg_split('/[\s]+/', $text); 全角スペースを半角スペースに変換してから、preg_splitします。UTF-8はオプションですが、これがないと、私の環境ではうまく変換できませんでした。 自己解決ですが、ありがとうございました

関連するQ&A