6

たくさんの文字列があり、それぞれに色が含まれているかどうかを確認する必要があります。

例えば ​​:

  • 空の鳥
  • フランスの22番街
  • 犬は青い
  • 猫は白黒です

したがって、最後の 2 つの文字列は true を返す必要があります。

それを見つける最良の方法は何ですか?

正規表現、または substr() で確認しますか?

4

4 に答える 4

26

それが最速の代替手段であるように思われるので、私は常に使用しstrposています(ただし、正規表現については知りません)。

if(strpos($haystack, $needle) !== FALSE) return $haystack;
于 2011-08-04T07:41:11.783 に答える
8

正規表現では、次のように書くことができます

preg_match_all("/(red|blue|black|white|etc)/", $haystack, $matches);

print_r($matches);

すべての文字列に対してループを使用すると、$matches のどの値が必要かが簡単にわかります。

于 2011-08-04T07:44:04.973 に答える
1

PHP の strpos または strripos は、文字列内の単一の単語を検索できる必要があります。ただし、使用する場合は、すべての色を検索するためにループする必要がある場合があります

于 2011-08-04T07:39:42.993 に答える