当我阅读Django代码时,我经常在模型中看到所谓的"slug".我不太确定这是什么,但我知道它与URL有关.怎么以及什么时候应该使用这个slug-thing?
(我在本词汇表中已经阅读了它的定义.)
诸如Rails和Django之类的Web框架内置了对"slugs"的支持,后者用于生成可读和SEO友好的URL:
团状串典型地只包含的字符a-z,0-9并-且可因此在不URL转义写入(认为"富%20巴").
我正在寻找一个Java slug函数,给出任何有效的Unicode字符串将返回一个slug表示(a-z,0-9和-).
一个微不足道的slug函数将是这样的:
return input.toLowerCase().replaceAll("[^a-z0-9-]", "");
Run Code Online (Sandbox Code Playgroud)
但是,此实现不会处理国际化和重音(ë> e).解决这个问题的一种方法是列举所有特殊情况,但这不是很优雅.我正在寻找更好的思考和一般的东西.
我的问题: