$str1=preg_replace("'\?(.+)$'","",$str);

解决方案 »

  1.   

    应该是这样的
    <?php
    $str="http://localhost/test.php?page=24";
    $str1=preg_replace("'[\?|\&]?page(.+)$'","",$str);
    echo $str1;
    ?>
      

  2.   

    后面还有东西没?没有的话:
        $str = "http://localhost/test.php?a=abc&page=24";
        $str = preg_replace("!(&page=.*)!", "", $str);
        echo $str;
      

  3.   

    少看了一个条件,和和
        $str = "http://localhost/test.php?page=24";
        $str = preg_replace("![&|?](page=.*)!", "", $str);
        echo $str;
      

  4.   

    谢谢,后面没东西了,page跟最后iwind的可以
    &page 或 ?page 都可换成空,谢谢二位。。我是做一个分页类,希望点分页显示出来的链接的时候test.php?action=23&page=22 这里action还可以用,取$_SERVER["REQUEST_URI"] 把?page或&page 换掉。。不知还有没有什么更方便的方法?
      

  5.   

    放在那里有什么不妥吗?注意,$_SERVER["REQUEST_URI"]在IIS 不可用。
      

  6.   

    $url = $_SERVER["REQUEST_URI"] . '&page=';
    <a href=$url. $i>$i</a>类似这样,引用这个分页类的文件名字各不相同想了一下午,头都大了。
      

  7.   

    名字不相同是action的事吧?多加一个分页参数不会影响的阿
      

  8.   

    奇怪,你一会要加上page,一会又要去掉它。但是分页类应该一直带这个page的吧。你的意思是说,如果 url是 xxx.php?xx=xx,就加上一个&page=,如果是xxx.php,就加上一个?page=吗