【发布时间】:2010-12-12 01:08:12
【问题描述】:
Rails 和 Django 等 Web 框架内置了对“slugs”的支持,这些“slugs”用于生成可读且对 SEO 友好的 URL:
一个 slug 字符串通常只包含字符 a-z、0-9 和 -,因此可以在没有 URL 转义的情况下编写(想想“foo%20bar”)。
我正在寻找一个 Java slug 函数,它给定任何有效的 Unicode 字符串都会返回一个 slug 表示(a-z、0-9 和 -)。
一个微不足道的 slug 函数应该是这样的:
return input.toLowerCase().replaceAll("[^a-z0-9-]", "");
但是,此实现不会处理国际化和重音符号 (ë > e)。解决这个问题的一种方法是枚举所有特殊情况,但这不是很优雅。我正在寻找更深思熟虑和更通用的东西。
我的问题:
- 在 Java 中生成 Django/Rails 类型 slug 最通用/实用的方法是什么?
【问题讨论】:
标签: java regex seo url-rewriting slug