【问题标题】:zend framework slug creator for utf8 character用于 utf8 字符的 zend 框架 slug 创建器
【发布时间】:2013-02-07 00:35:59
【问题描述】:

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

任何人有插件,或对我的建议?

提前致谢

【问题讨论】:

    标签: zend-framework slug


    【解决方案1】:

    您可以扩展现有的 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 使用的 slugification 代码,如果这对您来说仍然不够健壮。

    编辑:

    WordPress 代码 may already handle 将重音字符转换为对应的拉丁文。

    Here 例如是他们的remove_accents 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      相关资源
      最近更新 更多