この質問が以前に出されたことは知っていますが、提供されたソリューションを機能させることができませんでした。
配列内の単語が、指定された文字列内のいずれかの単語 (または単語の一部) と一致するかどうかを確認しようとしています。
現在、次のコードがありますが、配列の最初の単語に対してのみ機能します。残りは常に false を返します。
「入力」は「干し草の山」、「値」は「針」です。
function check($array) {
global $input;
foreach ($array as $value) {
if (strpos($input, $value) !== false) {
// value is found
return true;
} else {
return false;
}
}
}
例:
$input = "There are three";
if (check(array("one","two","three")) !== false) {
echo 'This is true!';
}
上記では、"There is one" の文字列は true を返しますが、"There are two" または "There are three" の文字列はどちらも false を返します。
正規表現を使用する必要のない解決策を使用できれば、それは素晴らしいことです。ありがとう!