質問: 0){ print '「'.h($data).'」はデータベースに登録がありません'; }else{ print '「'.h($data).'」はデータベースに登録がありました'; ?> 検索結果 商品名 価格 '; } //接続でいない場合、PDOException例外がスローされるのでキャッチする }catch(PDOException $e){ print 'エラーが発生しました。。 内容:' . h($e->getMessage()); } } ?> 検索したい文字列を入力 ```
回答: まふゆさんのコードを実行してみても問題が再現しませんでしたので、想像での回答となります。 おそらく、non-breaking space(`\xA0`)が入りこんでいるのではないかと考えました。 それを取り除くことで解決する方法を以下に提示いたします。 `mb_convert_kana` している箇所を下記のようにしてみてください。 ``` $delimiter = "\x20"; $datalist = preg_replace('/[\x{a0}\x{3000}]/u', $delimiter, $data); ``` また `explode` している箇所を下記のように変更してください。 ``` $keyword = explode($delimiter, $datalist); ``` コードで解決するには以上のようになるかと思います。 ただし、 `preg_replace` は重い関数なのでどうしても...という場合以外は避けた方がよいかもしれません。