我的正則表達式技能很差。爲了讓我的js/css顯示正確的菜單,我在我的li中添加了一個「selected」類,以便js知道哪個是當前項目(因此它可以顯示下拉的其餘部分)。匹配正則表達式
我的問題是笨匹配正確的URI字符串:
<li <? if((strstr($this->uri->uri_string(),"rfid_finder/finder")) || (strstr($this->uri->uri_string(),"finder"))) {?>class="selected"<?}?> rel="home"> <?= anchor('finder','HOME')?></li>
我用這個方法開始,但我的路線,如今更復雜一點,讓搜索和分頁。
我需要一個正則表達式會匹配所有下列途徑:
$route['finder/(:any)/(:any)/(:num)'] = "rfid_finder/finder/$1/$2/$3";
$route['finder/(:any)/(:any)'] = "rfid_finder/finder/$1/$2";
$route['finder/(:any)'] = "rfid_finder/finder/$1";
$route['finder'] = 'rfid_finder/finder';
但是當用戶訪問:
rfid_finder/search_form
第一菜單沒有給出選擇的類。
更新
我想第一個代碼段相匹配的路由,而不是rfid_finder/search
爲route-我有另一行代碼,其中rfid_finder/search_form路由匹配。我的問題在於試圖捕捉路線使用(strstr($this->uri->uri_string(),"finder")
它匹配我所有的路線,甚至rfid_finder/search_form
您在哪裏寫了任何字符,是否需要任何字符或只有字母? – MrGlass
:任何可以是用戶名或標籤 - 這應該是一個字符串(數字和字符) –
我不明白的東西:所以一切正常,但是當你去search_form你不希望它匹配,對不對? –