php: 半角または全角スペースで文字列を区切る。

problem:
フルネーム検索窓で、実際には苗字・名前と分かれているテーブルをそれぞれ検索する為に、分割を行う。

code:

$kw = mb_convert_kana($keyword, 's');
$kw_arr = preg_split('/[\s]+/', $kw, -1, PREG_SPLIT_NO_EMPTY);
print_r($kw_arr);

description:

$keywordには全角または半角でフルネームが区切られ入力されているとする。(例:田中 太郎、田中 太郎)

1.mb_convert_kanaで全角スペースを半角に変換。
2.preg_splitで正規表現を使って、’/[\s]+/’というように一文字以上の半角スペースで区切る。また、パラメータにPREG_SPLIT_NO_EMPTYを指定してnon-emptyのものだけを返す。

ちなみに、苗字だけの検索窓があったとして、ここに入力された前後のスペースを取り除きたい場合はtrimを使えばよし。

$kw = mb_convert_kana($keyword, 's');
$kw = trim($kw);