2011-02-16 32 views
2

我使用的是friendly_urls,并希望有一个sqlfield'friendly_url',这将取决于字段'标题'。所以,如果我的标题字段是“这是我的标题”,我的friendly_url字段将是“this_is_my_title”。MySql规范化的字符串

的问题,而作为一个葡萄牙人的网站,标题字段经常有像字符“C”,“A”,“E”,等...

什么是最好的方式(在MySQL如果可能的话,如果有必要的话),将“AntónioGirão”变成“antonio_girao”?

非常感谢您

+1

你可能想搜索“鼻涕虫”,这是基于“this_is_my_title” URL段的常用名称一个字符串。这样做有时被称为“slugifying”:) – 2011-02-16 16:52:35

+1

[MySQL支持在特定列上设置排序规则](http://dev.mysql.com/doc/refman/5.0/en/charset-column.html),所以你可以将其设置为不包含您列出的口音的排序规则。从理论上说,它应该存储没有口音的字符,但首先要测试。顺便说一下:URLS中的空格会被转换为每个空间的“%20” - 下划线不是必需的。 – 2011-02-16 16:54:34

回答

1

强力方法是使用strtr做就地置换:

strtr($string, "ÀÁÂÃÄÅàáâãäåā ", "aaaaaaaaaaaaa_")