複数のパターンの場合、同じ配列インデックスの下でpreg_matchの結果を返すことが可能でした。つまり、次のpreg_matchがあり、さまざまなサブ文字列(、、)での出現をチェックしてい'&q'
ます。 '?q'
'&keywords'
preg_match('/&q=(.+?)(&|$)|\?q=(.+?)(\&|$)|\&keywords=(.+?)(\&|$)/', urldecode($test_string), $matches);
次のステートメント $matches[1]
を除外できるように、以下のすべてのオカレンスを確認したいと思います。if
if($matches){
if ($matches[1] != ''){
$query_p = mysql_escape_string($matches[1]);
} elseif ($matches[3] != ''){
$query_p = mysql_escape_string($matches[3]);
} elseif($matches[5] != ''){
$query_p = mysql_escape_string($matches[5]);
}
}