你的出发点就错了。不应该想怎么修正URL,而应该想怎么完善翻页函数

解决方案 »

  1.   

    这个参数就是在翻页函数里面修改的啊,我在这里找的一个翻页函数,其中有修改page参数的:
    =================
    //因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。
    //这里用到了正则表达式,请参考“PHP中的正规表达式”(http://www.pconline.com.cn/pcedu/empolder/wz/php/10111/15058.html)
    $url_query=ereg_replace("(^|&)page=$page","",$url_query);
    =================
    $url_query是得到所有url参数信息,
    但他这个在只有一个page参数没有别的参数的时候(**.php?page=2)可以替换掉,
    有别的参数的时候,一翻页这个page就一直增加。
      

  2.   

    我用数组修改它可以了,
    if(strpos($url_query,"page")>0 && strpos($url_query,"&")>0){
       $url_query=explode("&",$url_query);
       unset($url_query[count($url_query)-1]);
       $url_query=implode("&",$url_query);
    }
      

  3.   

    if(strpos($url_query, "page=") === false){
    if(strlen($url_query))$url_query .= "&";
    $url_query .= "page=".$page;
    }else{
    $url_query = preg_replace("/page=(\d+)/sm", "page=".$page, $url_query);
    }
      

  4.   

    lz 是不是用了$_SERVER['QUERYSTRING'];其实不用去掉冗余参数 不影响
      

  5.   

    楼主的程序本身就是一个错误的程序为什么别人的不会有这样的情况呢?说明楼主的程序有问题。直接输出你的url吧,用什么正则,太浪费系统资源了
      

  6.   

    lz 是不是用了$_SERVER['QUERYSTRING'];其实不用去掉冗余参数 不影响
    =======================
    是不會影響功能,但不好看
      

  7.   

    一般页数与 url后带的参数串是分开的
    ?id=1&page=2&page=3&page=4
    这种情况,一般情况当前页querystring为
    ?page=$page&id=1
      

  8.   

    <一> parse_url
    <二> explode("&page",$_SERVER['QUERYSTRING']) 保留最后一个;