使用“&”在一个slu ..

时间:2013-04-26 09:28:08

标签: url doctrine symfony-1.4

我在数据库中有一个slug字段,该字段是从包含&的名称创建的:

name: Hansel & Gretel
slug: hansel-&-gretel

Doctrine从名称中删除不符合网址的字符。好吧,&绝对是网友友好的。

现在,当我使用symfony link_to()生成童话故事的链接时,我得到了:

http://myfairytalesite.ft/tale/hansel-%26amp%3B-gretel

因此,在&获取url编码之前,它会变为HTML实体。

当我导航到这个URL时,我得到404错误,因为slug仅被url解码,并且路由(sfDoctrineRoute)试图找到一个具有slug hansel-&amp;-gretel的对象,这显然在数据库中不存在。< / p>

我的问题:我该怎么办?

该名称是从外部源导入的,因此我无法手动更改。

我想在我使用slug的动作中添加一个html_entities_decode,但感觉就像将一个机翼连接到带有管道胶带的飞机......

我甚至试图深入研究Symfony的内部,看看我能在那里改变什么,我走得很深,我害怕我要唤醒Balrog但却找不到任何有趣的东西。 :/

有没有人有类似的问题?它可能是Sf或Doctrine的错误吗?

1 个答案:

答案 0 :(得分:0)

为了避免这个问题,我更换任何&amp;符号以及&amp;放大器;用“和”来保存我的slu ..

E.g。

hansel-and-gretel