みなさん、ナマステ。そこで、php.net からこの非常に便利なスニペットを取得して変更しました。
$cat = strip_tags(trim($_POST["cat"]));
$joke = strip_tags(trim($_POST["joke"]));
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[0] = 'bear';
$replacements[1] = 'black';
$replacements[2] = 'slow';
echo preg_replace($patterns, $replacements, $joke);
このコードは完全に機能します。$patterns 配列内のいずれかの単語が存在する場合は常に、対応する $replacement に置き換えられます。
最初に $patterns で preg_match を実行し、一致した場合は $status という名前の変数を true に設定して preg_replace を実行したいと思います。しかし、preg_match がない場合は、else if が一致しない場合は $status を false に設定します。
$patterns 配列で preg_match を実行することは可能ですか? もしそうなら、どうすればそれができますか?既存の配列で preg_match を実行して、同じ単語だけを含む 2 番目の配列のコードの記述を減らしたいと考えています。
ありがとう