php 正規表現 スペース区切り
phpで正規表現を使用してスペース区切りの文字列を切り出す
やりたいことは検索用の入力フォームがあり、入力値をスペースで区切った単語を一つずつ取得すること。
単純なスペース区切りなら
explode(' ', $keyword);
で良いのだけど、スペースが連続していたり全角空白が入力されることも考慮すると
正規表現で切り出した方がよさそうだったので preg_split を使うことにした。
foreach (preg_split('/[[:space:] ]+/u', $keyword) as $w) { // 処理 }
一行の入力フォームに入れられることは基本ないと思うけど、
一応スペースとして定義されているタブや改行も区切りの対象とするために[:space:]を使用し
日本語も扱うのでパターン修飾子に u を付ける。これでパターン文字列と、対象文字列を
UTF-8として扱ってくれるらしい。