Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在/_Php_Redirect - Fatal编程技术网

Php 在/

Php 在/,php,redirect,Php,Redirect,我的上一个链接如下: $routeName = $request->headers->get("referer"); 结果是: http://pst.local:8888/nl/dashboard 如何将nl更改为en?所以我可以重定向。您只需使用 如果您使用的是symfony2(因为您最初将此问题标记为symfony2),您可能会研究以及如何在路由中使用它。 也许您想了解一下一般情况,因为这一常规方法几乎可以一次性解决此类问题。您可以使用以下方法: <?php $html

我的上一个链接如下:

$routeName = $request->headers->get("referer");
结果是:

http://pst.local:8888/nl/dashboard
如何将
nl
更改为
en
?所以我可以重定向。

您只需使用

如果您使用的是symfony2(因为您最初将此问题标记为symfony2),您可能会研究以及如何在路由中使用它。 也许您想了解一下一般情况,因为这一常规方法几乎可以一次性解决此类问题。

您可以使用以下方法:

<?php
$html='http://pst.local:8888/nl/dashboard';
echo preg_replace('/(.*)\/.*?\/(.*)/', '\1/en/\2', $html);

请提供更多信息。这真的是他的问题的答案吗?->这就像是随机替换。这是OP要求的,不是吗?我不知道。我以为他想要某种symfony2方法之类的东西,因为他添加了symfony2作为标记。这与symfony2无关您使用str_replace是正确的显然,OP删除了symfony2作为标记。但是OP(或未来的访问者)现在可能会查看路由并了解这一点。把这些信息留在那里不会错吧?
<?php
$html='http://pst.local:8888/nl/dashboard';
echo preg_replace('/(.*)\/.*?\/(.*)/', '\1/en/\2', $html);
 echo preg_replace('/(.*)\/.*?\/(dashboard)/', '\1/en/\2', $html);