我使用以下代码来确定正确的重定向。顶部检查按预期匹配,并选择要加载的正确页面,但第二次检查不返回匹配,我最终被重定向到默认页面。我比较了这两行,直到我看不出来。它们在形式和功能上看起来完全相同,除了我当然想要匹配的明显区别。我错过了什么?还有另一种方法来实现我的目标,这可能是一个更好的选择吗?一如既往地谢谢。
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>';
}
答案 0 :(得分:0)
if (preg_match('/\Handicap Summer Foursomes/', $eventname)) {
^^
在preg中,\H
是&#34;任何不是水平空白字符的字符&#34;。虽然这会匹配文字H
,因为它不是horiz-WS char,它仍然是你需要注意的转义序列。
在另一种模式中同样为\G
。在preg中,\G
是&#34;主题中的第一个匹配位置&#34;。这绝对不会匹配。