2011-02-16 60 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_")