用于utf8字符的zend框架slug创建者

时间:2013-02-21 15:48:50

标签: zend-framework slug

我想创建一个SEO友好的网址,所以经过一些研究,我想出了创建slug并用路由器做一些事情。然而,似乎互联网上的slug创建者只支持英文字母字符。所以,我需要一个更好的slug创建者来为我的越南字母表。

任何人都有插件或建议给我?

提前致谢

1 个答案:

答案 0 :(得分:2)

您可以扩展现有的Slugifier以规范化越南字符。

来自similar post in the Django context

  

您的简单版本将是:

vietnamese_map = {
    ord(u'ư'): 'u',
    ord(u'ơ'): 'o',
    ord(u'á'): 'a',
    ord(u'n'): 'n',
    ord(u'h'): 'h',
    ord(u'ữ'): 'u',
    ord(u'n'): 'n',
    ord(u'g'): 'g',
    ord(u'v'): 'v',
    ord(u'i'): 'i',
    ord(u'ê'): 'e',
    ord(u'n'): 'n',
    ord(u'k'): 'k',
    ord(u'ẹ'): 'e',
    ord(u'o'): 'o',
}
     

然后你可以打电话:

print u"những-viên-kẹo".translate(vietnamese_map) To get:

u"nhung-vien-keo"

但当然你需要用PHP编写它。

如果你不想扩展内置的slugifier,Boris Guery的Bgy_Filter_Slugify对我很有用:

https://github.com/borisguery/bgylibrary/blob/master/library/Bgy/Filter/Slugify.php

你还可以提取WordPress使用的强制代码,如果它仍然不够健壮。

修改

WordPress代码may already handle将重音字符转换为拉丁语等价物。

Here例如是他们的remove_accents函数。