在我的博客应用程序中,用户可以输入任何文本作为其条目的标题,然后我根据该文本生成一个 URL。
我验证他们的头衔以确保它只包含字母和数字.
如果他们输入类似的内容
Lorem 3 ipsum dolor sit amet
我怎样才能生成此文本的更 SEO 友好的版本:
Lorem-3-ipsum-dolor-sit-amet
实际上,这并不像用连字符替换空格那么简单。您通常还希望将其全部小写并标准化/替换变音符号,例如 á、ö、è 等invalid网址字符。唯一有效的字符在第二个表中列为“非保留字符”这个维基百科页面.
这样的函数如下所示:
public static String prettyURL(String string) {
return Normalizer.normalize(string.toLowerCase(), Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+", "")
.replaceAll("[^\\p{Alnum}]+", "-");
}
它基本上执行以下操作:
- 小写字符串
- 删除合并变音符号(在规范化器从实际字符中“提取”它们之后)
- 用连字符替换非字母数字字符
也可以看看:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)