有没有一种简单的方法可以替换 Symfony 2 的引用中的 url 参数?
Is there an easy way to replace an url parameter in a referer in Symfony 2?
我正在尝试更新我的引用中的参数 url:
$referer = $request->headers->get('referer');
例如,$referer
是具有两个参数的 url:
string(96) "http://<my_url>/web/app_dev.php/urlpart/?param1=value1¶m2=value2"
我想轻松地将 param1=value1
替换为 param1=updatedvalue1
,例如用另一个替换。
我知道我们可以用 twig
和当前请求 url:
{{ path(app.request.attributes.get('_route'),
app.request.query.all|merge({'sort': 'address'})) }}
是否可以在 Symfony 2 控制器中做同样的事情来更新 referer?
我在 PHP
中找到了一个带有 preg_replace
函数的解决方案,我希望有更好的方法来做它看起来很丑陋,我正在努力寻找更好的解决方案,任何帮助都会赞赏!
$referer = preg_replace('/([?&])(param1)=\w+(&|$)/', '', $referer);
$referer = preg_replace('/(param2)=\w+(&|$)/', '', $referer);
感谢您的帮助!
这应该有效:
$oldReferer = 'http://<my_url>/web/app_dev.php/urlpart/?param1=value1¶m2=value2';
$newReferer = Request::create($oldReferer, 'GET', array('param1' => 'updatedvalue1'))->getUri();
我正在尝试更新我的引用中的参数 url:
$referer = $request->headers->get('referer');
例如,$referer
是具有两个参数的 url:
string(96) "http://<my_url>/web/app_dev.php/urlpart/?param1=value1¶m2=value2"
我想轻松地将 param1=value1
替换为 param1=updatedvalue1
,例如用另一个替换。
我知道我们可以用 twig
和当前请求 url:
{{ path(app.request.attributes.get('_route'),
app.request.query.all|merge({'sort': 'address'})) }}
是否可以在 Symfony 2 控制器中做同样的事情来更新 referer?
我在 PHP
中找到了一个带有 preg_replace
函数的解决方案,我希望有更好的方法来做它看起来很丑陋,我正在努力寻找更好的解决方案,任何帮助都会赞赏!
$referer = preg_replace('/([?&])(param1)=\w+(&|$)/', '', $referer);
$referer = preg_replace('/(param2)=\w+(&|$)/', '', $referer);
感谢您的帮助!
这应该有效:
$oldReferer = 'http://<my_url>/web/app_dev.php/urlpart/?param1=value1¶m2=value2';
$newReferer = Request::create($oldReferer, 'GET', array('param1' => 'updatedvalue1'))->getUri();