-1

状況の性質上、次のことを行うには 1 つのパターンが必要です。

見つけるべきパターンを作成する

  1. 単語の完全一致
  2. 2 つの単語の組み合わせの完全一致。
  3. 文字列で見つかった 2 つの単語の一致。

私の問題は#3にあります。現在私は持っています:

$pattern = '/\s*(foo|bar|blah|some+text|more+texted)\s*/';

文字列内の任意の組み合わせで「悪いテキスト」を見つけるこのパターンに追加するにはどうすればよいですか。

何か案は?

4

2 に答える 2

1

単語の文字列を確認するには、正規表現を使用します

  /\bbad\b/

文字列に不適切なテキストがないかどうかを確認するには、正規表現を使用します

  /\bbad text\b/

単語badtextの任意の組み合わせについて文字列をチェックするには、正規表現を使用します

  /\b(bad|text)\s+(?!\1)(?:bad|text)\b/

文字列に悪い単語が含まれているかどうかを確認するには、正規表現を使用します

  /(?=.*\bbad\b)(?=.*\btext\b)/
于 2012-10-05T21:20:50.023 に答える
0

これを行うにはいくつかの方法がありますが、ここでは簡単な方法を示します

$array_needles = array("needle1", "needle2", etc...); 
$array_found_needles = array(); 

$haystack = "haystack";

foreach ($array as $key=>$val) {
    if(stristr($haystack, $val) {
    //do whatever you want if its found
    $array_found_needles[] = $val; //save the value found
    }
} 

$found = count($array_found_needles);

if ($found == 0) {
    //do something with no needles found
} else if($found == 1) {
    //do something with 1 needle found 
} else if($found == 2) {
    //do something with two needles found, etc
}
于 2012-10-05T21:04:00.120 に答える