0

请帮助一个还在学习的菜鸟。我已经寻找了一个解决方案,但我发现的大部分内容都使用正则表达式,我希望在不使用正则表达式的情况下实现这一点。对于页面顶部的多个水果,我将以下内容重复了 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 范围很广。

4

1 回答 1

0

您可以尝试“或”条件

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

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

于 2013-02-19T23:08:17.987 回答