1

两种情况:

  1. http://www.example.com/index.php
  2. http://www.example.com/index.php?string1=foo&string2=foo2

用例:

  1. 如果场景 1 为真,我需要添加字符串?string1=foo
  2. 如果场景 2 为真,我需要删除 string2=foo2 并放入 string3=foo3

我遇到问题的情况:

  1. 如果已经有一个字符串,我将需要添加“&”,否则它将只是“?”。
  2. 我不知道如何获取最后一个字符串并能够替换它。

我怎样才能解决这个问题?

4

2 回答 2

1

URL 参数始终在$_GET数组中。您可以使用它来构建您的参数列表,然后使用它http_build_query来创建您的 URL 查询字符串。

$new_url_params = $_GET;
if ( count($new_url_params)==0 ) {
    $new_url_params['string1']='foo';
} else if ( isset($new_url_params['string2']) ) {
    unset($new_url_params['string2']);
    $new_url_params['string3'] = 'foo3';
}
$new_url = 'http://www.example.com/index.php?'.http_build_query($new_url_params);

我想你可能想要做一些更复杂的事情。因此,您可能想要查看parse_url获取 URL 的各个部分。

于 2012-12-01T03:32:40.257 回答
0

我能够at thestrpos然后确定是否需要保留或 add后跟字符串。当我需要切换最后一个字符串时,我做了一个. 我不知道这是否是最好的解决方案,但我很高兴让它发挥作用....到目前为止。$_SERVER['REQUEST_URI']??&str_replace

于 2012-12-01T03:48:47.050 回答