在 Laravel 7/8 中获取当前 URL 的一部分

问题描述

如何在没有第一部分的情况下动态获取当前网址?

例如:

www.google.com/en/second => /second

www.google.com/en/second/third => /second/third

在当前刀片视图中该函数放在哪里或如何实现?

解决方法

您可以使用Request::segments

implode('/',array_slice(request()->segments(),1));
,

所有http链接:

$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; // www.google.com/en/second/third

刚刚请求的链接:

$requested_link = "$_SERVER[REQUEST_URI]";  // en/second/third

如果您不想要链接的任何部分,请将其替换为 ""

str_replace("en/","",$requested_link); // second/third

您可以将此代码放在视图或控制器中的任何位置。例如在视图中:

<?php
function get_url(){
   $requested_link = "$_SERVER[REQUEST_URI]";
   return str_replace("en/",$requested_link);
}
?>
,

获取包含查询字符串的当前 URL...

echo url()->full();