2012-07-03 138 views
1

我要運行這個PHP函數 -正則表達式不匹配URL

$querystring_arr='maxResults=50&startIndex=50&sort=date'; 
$str=preg_replace("(&startIndex=)?[0-9]*(&)?","&startIndex=".$sindex."&",$querystring_arr); 

當我print $str它給人的錯誤:

Warning: preg_replace() [function.preg-replace]: Unknown modifier '\' in C:\xampp\htdocs\myapp\paginator.class.php on line 112 

請,哪裏是我的正則表達式錯了嗎?

回答

2

你需要用分隔符來包裝你的正則表達式。

preg_replace("/(&startIndex=)?\d*&?/","&startIndex=".$sindex."&",$arr); 

或者,不要使用正則表達式並使用PHP提供的內容。

parse_str($str, $params); 

if (get_magic_quotes_gpc()) { 
    $params = array_map('stripslashes', $params); 
} 

$params["startIndex"] = $sindex; 

$str = http_build_query($params);