2015-02-10 129 views
0

我使用下面的代碼來確定正確的重定向。頂部檢查符合預期並選擇正確的頁面加載,但第二次檢查不返回匹配,我最終被重定向到默認頁面。我比較了兩條線,直到看不到直線。他們在形式和功能上看起來完全一樣,除了我想要搭配的東西明顯不同之外。我錯過了什麼?是否有另一種方式來實現我的目標,這可能是一個更好的選擇?一如既往地感謝。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>'; 
} 
+0

'\ H'和'\ G'是什麼?這兩個字符都不需要逃脫。 – 2015-02-10 16:50:26

回答

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

在預浸料,\H是 「的任何字符不是一個水平空白字符」。雖然這會匹配文字H,因爲這不是一個horiz-WS字符,它仍然是一個需要注意的轉義序列。

同上\G其他模式。在preg中,\G是「主題中的第一個匹配位置」。這絕對不會匹配。

+0

謝謝你,馬克。我錯過了在我的代碼中正確使用\ b。現在工作! – 2015-02-10 17:13:10

+0

試圖給你upvote,但我不是15級,所以它不會允許我這樣做 – 2015-02-10 17:13:49