将值添加到URL中的查询字符串

Alx*_*ejo 0 php regex

可能重复:
更改查询字符串中的单个变量值

我正在检索当前的网址:

http://example.com/?s=original&fq=category

现在我想为此插入一个额外的参数 s=

s=original+additional&fq=category
Run Code Online (Sandbox Code Playgroud)

如果有人知道这一点,他们将非常感谢!

编辑:

这是在PHP WordPress环境中.我很想坚持使用PHP Regex因为我不确定如何使用jQuery/js

小智 5

一个没有明确要求正则表达式的解决方案:

$old   = 'http://example.com/?s=original&fq=category';
$parts = parse_url($old);

parse_str($parts['query'], $query);
$query['s'] .= ' additional';

$new = sprintf(
  '%s://%s%s?%s'
    , $parts['scheme']
    , $parts['host']
    , $parts['path']
    , http_build_query($query)
);

echo 'Old: ', $old, PHP_EOL, 'New: ', $new, PHP_EOL;
Run Code Online (Sandbox Code Playgroud)

以上代码输出:

Old: http://example.com/?s=original&fq=category
New: http://example.com/?s=original+additional&fq=category