キーワード検索機能をつけるときに、自分は全角スペース、半角スペースごちゃまぜで検索しようとします。
PHPでこの機能を作る場合は、フォームから渡されたキーワード文字列を分割しなくてはいけません。キーワードを区切る文字を”半角スペース”とする場合、全角スペースを半角スペースに変換する必要が出てきます。
str_replace()などでは全然変換されなくて困っていたところ、便利な関数が用意されていました。
こんな関数が用意されていました。
http://jp2.php.net/manual/ja/function.mb-convert-kana.php
上記explodeでそれぞれ配列に値が入りましたが、全角スペースが2つなどつながっている場合、配列$keyList内には余分な空文字も入っています。
空白、NULL,false,-1などのboolean=falseとなるような値をフィルタリングした配列を返す関数array_filter()を使います。
最後にforeach()などで値を見れば、確かに入力したフォームの文字列から空白を除いた文字列が取得できました。
mb_convert_kana
http://jp2.php.net/manual/ja/function.mb-convert-kana.php
array_filter
http://www.php.net/manual/ja/function.array-filter.php
配列要素の削除方法について PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/1475
この記事が気に入ったりした方は、自分のブログを書くときに「下のURLをコピーして、自分のブログ投稿時のトラックバック欄にペースト」してください。つながります。
URL: