【问题标题】:remove part of the segment from url laravel从 url laravel 中删除部分段
【发布时间】:2015-07-15 01:38:19
【问题描述】:

我有一个这样的网址:

http://example.com/en/search

现在我想检查 url 的第一段,比如

$lang = Request::segment(1);

如果 $lang 段符合特定条件,我想删除它。我正在检索这样的网址

$url = Request::fullUrl();

现在我想将 url 重构为这样的东西

http://example.com/search

请注意,我不能使用 str_replace,因为它会搜索 url 的所有部分,我只想在第一段中搜索和替换。

【问题讨论】:

    标签: php url laravel


    【解决方案1】:

    如果您只想快速检查,然后删除第一段并重定向用户,您可以轻松地执行例如像这样(对于 Laravel 5):

    $segments = Request::segments();
    $first = array_shift($segments);
    if (some_condition) {
        return redirect()->to(implode('/', $segments));
    }
    

    【讨论】:

      【解决方案2】:

      尝试类似:

      $str = 'http://example.com/en/search';
      $part = explode('/',$str,5);
      
      if ($part[3] == 'en') {
          $url = $part[0].'//'.$part[2].'/'.$part[4];
      } else { 
          $url = $str;
      }
      
      echo '$url:['.$url.']';  // http://example.com/search
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-13
        • 1970-01-01
        • 1970-01-01
        • 2013-09-11
        • 1970-01-01
        • 2016-07-30
        相关资源
        最近更新 更多