1

このPHP関数を実行したい-

$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

どうか、私の正規表現はどこが間違っていますか?

4

1 に答える 1

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);
于 2012-07-03T05:31:43.813 に答える