0

私はこのように始めましたが、より多くのアイテムを手に入れると長くなりすぎると判断しました.

$keyword=getKeyword();

switch (true)
  {
    case $keyword=='special product':
    $keyword_custom_items[]='SPECIAL';
    break;

    case ($keyword=='other special' || $keyword=='other specials' || $keyword=='more specials'):
    $keyword_custom_items[]='EXTRA-SPECIAL';
    break;

    default:
    break;
  }

// handle custom items if $keyword_custom_items is set.

複数の単語のために自分自身を複製する必要があることに加えて、これは近い一致を許可しません。この問題を解決するより良い方法は何ですか?

4

3 に答える 3

0

正規表現マッチングを使用できます。http://php.net/manual/en/function.preg-match.phpを参照してください

または、$keyword のいくつかのケースを切り替えるだけの場合は、次のことができます。

switch ($keyword) {
    case "special product":
       $keyword_custom_items[]='SPECIAL';
       break;
    case "other special":
    case "other specials":
    case "more specials":
       $keyword_custom_items[]='EXTRA-SPECIAL';
       break;
    default:
       $keyword_custom_items[]='NONE';

}
于 2013-11-06T18:47:51.553 に答える