laravel 5 rawurlencode not encoding slashes

时间:2015-07-08 13:27:49

标签: php laravel laravel-5 url-encoding

我有一个 Laravel 5 项目,可以按类别名称过滤产品并显示它们。某些类别名称包含斜杠(/)点(。),但是当我使用 rawurlencode()对我从中检索的名称进行编码时数据库为了生成网址,斜杠和点不是由 rawurlencode()编码的,当我尝试点击那些生成的链接时会导致 404 和内部错误。< / p>

我认为的代码:

@foreach($info['categories'] as $cat)
  <a href="{{ route('listByCategory', rawurldecode($cat->description)) }}" class="list-group-item sidebar-menuitem">{{ $cat->description }}</a>
@endforeach

这里我的路线档案:

Route::get('/cat/{cat}', ['as' => 'listByCategory', 'uses' => 'ProductsController@display']);

这是我的控制者:

class ProductsController extends Controller
{
  public function display($category)
  {
    $info = [];
    $info['title'] = $category;
    $info['products'] = DB::select('....);
    return view('myview);
  }
}

我的问题是:为什么rawurlencode()不会编码斜线和点?实现这一目标的正确方法是什么?

感谢。

0 个答案:

没有答案