1

重複の可能性:
クエリ文字列の単一の変数値を変更する

例: www.example.com/feeds?arg1=xyz&arg2=abc$arg3=pqr. arg2 の値を 123 に置き換えてwww.example.com/feeds?arg1=xyz&arg2=123$arg3=pqr. それを達成する最も簡単な方法を提案してください。

4

2 に答える 2

2

プロセスは簡単です。

  1. クエリ部分を解析します。
  2. parse_strを使用して、クエリ内の各変数を抽出します
  3. 交換してください。
  4. http_build_queryを使用してクエリを再構築します
  5. このクエリ文字列をメインの URL に配置します

このコードを参照してください。

$str = "www.example.com/feeds?arg1=xyz&arg2=abc$arg3=pqr";
$p = strpos($str, "?");
if($p!==false){
    $q = substr($str, $p+1);
    parse_str($q, $u);
    $u['arg2']='new value';
    $q=http_build_query($u);
    $str = substr($str, 0, $p). "?". $q;
}
于 2012-10-23T05:31:38.747 に答える
1
$url = "?";
foreach ($_GET as $key => $value) {
  if ($key != 'arg2') {
    $url .= "$key=$value&";
  }
}
$url .= "arg2=123"; // has arg=123 at the very end

これを入手したら、あなたがしなければならないのは:

header("Location: $url");

の前に何も指定しなかったので、パラメータを?変更するだけ$_GETです。これはとにかく必要なものです。

于 2012-10-23T05:20:21.603 に答える