我从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,表示else if no match,将$status设置为false。
我现在设置的$patterns数组是否可以运行preg_match?如果是这样,我怎么能这样做呢?我想在现有数组上运行preg_match,以减少为第二个数组编写更多代码,因为第二个数组只包含相同的单词。
1条答案
按热度按时间bvn4nwqk1#
选项1:
备选方案二:
你问的是选项2,但恕我直言,这太复杂了