2015-10-31 72 views
0

我有以下URL格式:PHP - 的Preg匹配匹配URL

http://www.domain.com/admin/?i=page 

而在子页面,这是格式:

http://www.domain.com/admin/?i=page&n=subpage 

当呼应$_SERVER["REQUEST_URI];我得到如下:

/admin/?i=page 

我试图表现出.active类每当页面激活这样的:

if(preg_match ('#^/admin/?i=page', $_SERVER['REQUEST_URI'])){echo "active";} 

但是,active类未触发。我究竟做错了什么?

+0

令人惊讶的是有多少人不使用错误报告,https://eval.in/460748。 '警告:preg_match():没有结尾分隔符'#'找到 – chris85

回答

2
  1. 你忘了结尾的php分隔符。
  2. 你忘了逃跑?

    if(preg_match ('#^/admin/\?i=page#', $_SERVER['REQUEST_URI'])){echo "active";} 
    
1

你缺少正则表达式的最后一个分隔符。而且,'?'应该被转义:

#^/admin/\?i=page#