preg_match没有正确重定向

时间:2015-02-10 16:46:34

标签: preg-match

我使用以下代码来确定正确的重定向。顶部检查按预期匹配,并选择要加载的正确页面,但第二次检查不返回匹配,我最终被重定向到默认页面。我比较了这两行,直到我看不出来。它们在形式和功能上看起来完全相同,除了我当然想要匹配的明显区别。我错过了什么?还有另一种方法来实现我的目标,这可能是一个更好的选择吗?一如既往地谢谢。

if (preg_match('/\Handicap Summer Foursomes/', $eventname)) {
    $form = '<a class="primary" href="signup_HSF.php?eid=' . $EID . '&squads=2">Sign-up</a>';
} else if (preg_match('/\Gigantic 5/', $eventname)) {
    $form = '<a class="primary" href="signup_G5.php?eid=' . $EID . '&squads=2">Sign-up</a>';
} else {
    $form = '<a class="primary" href="signup.php?eid=' . $EID . '&squads=2">Sign-up</a>';
}

1 个答案:

答案 0 :(得分:0)

if (preg_match('/\Handicap Summer Foursomes/', $eventname)) {
                 ^^

在preg中,\H是&#34;任何不是水平空白字符的字符&#34;。虽然这会匹配文字H,因为它不是horiz-WS char,它仍然是你需要注意的转义序列。

在另一种模式中同样为\G。在preg中,\G是&#34;主题中的第一个匹配位置&#34;。这绝对不会匹配。