1

我在数据库中有一个 slug 字段,它是从包含以下内容的名称创建的&

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

Doctrine 从名称中删除了对 url 不友好的字符。嗯,&绝对是 url 友好的。

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

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

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

当我导航到此 URL 时,我收到 404 错误,因为 slug 仅经过 url 解码,并且路由 (sfDoctrineRoute) 尝试使用 slug 查找hansel-&-gretel数据库中显然不存在的对象。

我的问题:我能做些什么呢?

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

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

我什至试图深入研究 Symfony 的内部结构,看看我可以在那里改变什么,我深入到害怕我会唤醒 Balrog 但找不到任何有趣的东西。:/

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

4

1 回答 1

0

为了避免这个问题,我替换了任何 & 符号以及 & amp; 当我保存我的蛞蝓时有一个“和”。

例如

hansel-and-gretel
于 2013-04-26T23:07:38.403 回答