Вы можете расширить существующий 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, Bgy_Filter_Slugify
работы Бориса Guery хорошо, для меня:
https://github.com/borisguery/bgylibrary/blob/master/library/Bgy/Filter/Slugify.php
Вы можете также извлечь код slugification, используемый WordPress, если это еще не достаточно надежный для вас.
EDIT:
WordPress код may already handle преобразование акцентированных символов в их латинском эквиваленте.
Here например, это их функция remove_accents
.