好吧,基本上,假设我们有一个链接:
$url = "http://www.site.com/index.php?sub=Mawson&state=QLD&cat=4&page=2&sort=z";
基本上,我需要创建一个函数,它替换URL中的每个内容,例如:
<a href="<?=$url;?>?sort=a">Sort by A-Z</a>
<a href="<?=$url;?>?sort=z">Sort by Z-A</a>
或者,再举一个例子:
<a href="<?=$url;?>?cat=1">Category 1</a>
<a href="<?=$url;?>?cat=2">Category 2</a>
或者,再举一个例子:
<a href="<?=$url;?>?page=1">1</a>
<a href="<?=$url;?>?page=2">2</a>
<a href="<?=$url;?>?page=3">3</a>
<a href="<?=$url;?>?page=4">4</a>
所以基本上,我们需要一个函数来替换URL中的特定$_GET
,这样我们就不会得到重复的内容,比如:?page=2&page=3
话虽如此,它需要很聪明,以便知道参数的开头是?
还是&
我们还需要它是智能的,这样我们就可以有这样的URL:
<a href="<?=$url;?>page=3">3</a> (without the ? - so it will detect automatically wether to use an `&` or a `?`
我不介意为每个preg_replace的特定$_GET参数创建不同的变量,但我正在寻找最好的方法来做到这一点。
谢谢大家。
9条答案
按热度按时间6rvt4ljy1#
如果我没阅读的话,我可能没看错。你知道你在一个url字符串中替换了哪个GET吗?这可能有点草率,但是...
这是我的想法,祝你好运.
mzmfm0qo2#
我不知道这是不是你想达到的目的,但无论如何,我还是要说:
aamkag613#
改进Scuzzy 2013功能最后一块用于清洁URL查询字符串。
oxalkeyp4#
用法:
http://localhost/arters?sub=Mawson&state=QLD&cat=4&page=2&sort=z
http://localhost/arters?sub=Mawson&state=QLD&cat=4&page=5&sort=a
a9wyjsp75#
我的简短和可读的方式:
dsf9zpds6#
像这样的怎么样?
用法...
8tntrjer7#
好吧,我也遇到了同样的问题,发现了这个问题,最后,我选择了自己的方法。也许它有缺陷,那么请告诉我它们是什么。我的解决方案是:
希望有帮助。
jpfvwuh48#
像这样使用:
我今天早上做的,它似乎在所有情况下工作。你可以改变/添加多个查询,与数组;)
9avjhtql9#
$url
示例:$params
示例:注意:它不理解像
http://example.com/page?foo=bar#section1
这样带有锚点(哈希)的URL