我想我犯了一个错误的错误......
这是输入:
http://www.example.com/do.php?action=5&say=text
http://www.example.com/do.php?action=8&say=text
http://www.example.com/do.php?action=10&say=text
我想在action
之后添加另一个参数:
preg_replace('/action=[0-9]/', 'action=$1¶m=test', $text);
但其输出是:
http://www.example.com/do.php?action=¶m=test&say=text
http://www.example.com/do.php?action=¶m=test&say=text
http://www.example.com/do.php?action=¶m=test&say=text
如您所见,action
值已删除。
我的错误在哪里?
答案 0 :(得分:0)
$1
是子字符串匹配,以第一个括号开头。因此,使用它将/actions=([0-9]+)/
来捕获数字。
答案 1 :(得分:0)
你可以尝试
$url = "http://www.example.com/do.php?action=10&say=tex" ;
$url = preg_replace('/action=(\d+)/', "action=$1¶m=test", $url);
echo $url ;
输出
http://www.example.com/do.php?action=10¶m=test&say=tex