【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

$text = "日本 中国 オランダ" を 日本, 中国, オランダのように分割するために、
以下のコードを書きました。
preg_split("/[\s]+/", $text);

しかし、全角スペースの時も分割したいので、正規表現を/[ \s]+/とすると、preg_splitの返す配列に期待したものが、入りません。なぜか空文字("")が含まれます。

どうすれば、全角スペースに対応できるでしょうか?

A 回答 (1件)

ちゃんと返ってきますが。



<?php
$text = "日本 中国 オランダ ロシア";
$result = preg_split("/[\s ]+/", $text);

var_dump($result);
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。私の環境ではうまくいかないんですよね。

いろいろ、調べた結果、うまくいくコードがかけました。

$text = mb_convert_kana($text, 's', 'UTF-8');
$keywords = preg_split('/[\s]+/', $text);

全角スペースを半角スペースに変換してから、preg_splitします。UTF-8はオプションですが、これがないと、私の環境ではうまく変換できませんでした。

自己解決ですが、ありがとうございました

お礼日時:2014/08/25 14:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!