如何在 Symfony 路由中用“-”替换空格(%20)

问题描述 投票:0回答:1

我想在 Symfony 4.4 路由中用“-”替换空格(%20)并删除我的 {slug} 的第一个大写字母。

例如:

RecipeController.php

 /**
 * @Route("/receta/{title}", name="recipe_show", methods={"GET"})
 */
public function show(Recipe $recipe): Response
{
    return $this->render('recipe/show/show.html.twig', [
        'recipe' => $recipe,
    ]);
}

现在我的路线显示了。

https://localhost:8000/receta/Pollo%20agridulce%20chino

但我想展示

https://localhost:8000/receta/pollo-agridulce-chino

在我的 BD 中我保存了“Pollo agridulce chino”

我该怎么做?

php symfony routes symfony4 space
1个回答
-1
投票

通常这对于数据库中的“slug”字段效果最好,您可以将其设置为“/receta/{slug}”和数据库“slug”字段“pollo-agridulce-chino”。 您可以手动添加“slug”或使用类似的东西

strtolower(str_replace(' ', '-','Pollo agridulce chino'))

当您将标题保存在数据库中时

© www.soinside.com 2019 - 2024. All rights reserved.