文字列に特定の単語が含まれているかどうかをテストしたい。複数の単語のpreg_match
すなわち:
$string = "The rain in spain is certain as the dry on the plain is over and it is not clear";
preg_match('`\brain\b`',$string);
しかし、その方法は、1つの単語だけに一致します。複数の単語を確認するにはどうすればよいですか?
文字列に特定の単語が含まれているかどうかをテストしたい。複数の単語のpreg_match
すなわち:
$string = "The rain in spain is certain as the dry on the plain is over and it is not clear";
preg_match('`\brain\b`',$string);
しかし、その方法は、1つの単語だけに一致します。複数の単語を確認するにはどうすればよいですか?
ような何か:
あなたが "または" 正規表現のようにパイプ文字(|
)を使用することができます
preg_match_all('#\b(rain|dry|clear)\b#', $string, $matches);
preg_match('\brain\b',$string, $matches);
var_dump($matches);
行方不明の区切り文字を見て、複数の値 –
が編集した質問 – Autolycus
preg_match('~\b(rain|dry|certain|clear)\b~i',$string);
を。
単語があるかどうかを知る必要がある場合は、上記のようにpreg_match
を使用してください。あなたは言葉のいずれかのすべての出現箇所を一致させる必要がある場合は、preg_match_all
を使用します。
preg_match_all('~\b(rain|dry|certain|clear)\b~i', $string, $matches);
を次に$matches
変数を確認してください。
http://php.net/manual/en/function.preg-match.php
「するpreg_match()は、あなたが唯一の1つの文字列を別の文字列に含まれているかどうかを確認したい場合は、使用しないでください。strpos()またはその代わりにはstrstr()を使用して、彼らが速くなりますよう。」
preg_match_all() –
編集した質問 – Autolycus