找到任何字符串的Preg_match多重匹配

时间:2013-02-19 23:02:26

标签: preg-match match

请帮助一个仍在学习的菜鸟。我已经搜索了一个解决方案,但我发现的大多数都使用正则表达式,我希望不使用正则表达式来实现这一点。 我在页面顶部对多个水果重复了10次以上,并且一切正常:

?>
<?php
$referrer = $_SERVER['HTTP_REFERER'];
  if (preg_match("/apple/",$referrer)) {
  header("Refresh:0;url=http://mysite.com/fruit/");
    exit;
}
?>
?>
<?php
$referrer = $_SERVER['HTTP_REFERER'];
if (preg_match("/orange/",$referrer)) {
  header("Refresh:0;url=http://mysite.com/fruit/");
exit;
}
?>

但我正在尝试将其浓缩为类似的东西,我可以在需要的时候添加一个新的'水果'。

if (preg_match("/apple/", $referrer) || preg_match("/orange/", $referrer) || preg_match("/peach/", $referrer) || preg_match( "and on!! --)) { ...  

是的我知道preg_match的范围很广。

1 个答案:

答案 0 :(得分:0)

您可以尝试“或”条件

<?php
$referrer = $_SERVER['HTTP_REFERER'];
  if (preg_match("/apple|orange|grape/",$referrer)) {
  header("Refresh:0;url=http://mysite.com/fruit/");
    exit;
}
?>

请注意,它将与“crabapple”匹配,并且对单词边界没有限制。