求助下。怎么把a=ddddd&page=1111中的page=1111这样的删去呢。这是个url地址,截取出来的参数串。 a=ddddd$page=2334&www=2222 page=1111&m=3234&o=r2345 a=ddddd$wc=2334&page=plo 这三种都有可能。前面,中间,最后。 怎么正则把page=参数值,干掉呢。 我鼓秋了半天正则,写出来个这。page=.*&|\s,还是不行,匹配不出来。 高手指点一下啊。 分享到: ------解决方案--------------------$s = 'a=ddddd&page=2334&www=2222'; $s = 'page=1111&m=3234&o=r2345'; $s = 'a=ddddd&wc=2334&page=plo'; //这样比较正规 parse_str($s, $a); unset($a['page']); echo http_build_query($a), PHP_EOL; //正则比较另类 echo preg_replace('/(&?)page=[^&]+(&?)/e', '"$2"?"$1":""', $s);登录后复制登录后复制------解决方案--------------------引用:Quote: 引用: $s = 'a=ddddd&page=2334&www=2222'; $s = 'page=1111&m=3234&o=r2345'; $s = 'a=ddddd&wc=2334&page=plo'; //这样比较正规 parse_str($s, $a); unset($a['page']); echo http_build_query($a), PHP_EOL; //正则比较另类 echo preg_replace('/(&?)page=[^&]+(&?)/e', '"$2"?"$1":""', $s);登录后复制登录后复制 你厉害行了吧。很奇怪啊。你怎么学的那么好啊。我也搞php好几年了,遇到正则还得百度查。你怎么学的啊 http_build_query($a), PHP_EOL; 这个都好像不太常用啊。你是怎么想到的。我怎么想不到。这是为什么啊。我不服! 如果你每次都去问百度,而不经过自己结合经验和知识来尝试自己写的话,你永远想不到一些很神奇的想法 $s = 'a=ddddd&page=2334&www=2222'; //$s = 'page=1111&m=3234&o=r2345'; //$s = 'a=ddddd&wc=2334&page=plo'; echo implode('&', array_filter(explode('&', $s), create_function('$str', 'return substr($str, 0, 5) !== "page=";')));登录后复制