标签:friendly-url java regex seo
在我的博客应用程序中,用户可以输入任何文本作为其条目的标题,然后我根据该文本生成一个URL.
我验证其标题以确保它仅包含字母和数字.
如果他们输入类似
Lorem 3 ipsum dolor sit amet
我该如何生成此文本的SEO友好版本:
Lorem-3-ipsum-dolor-sit-amet
解决方法:
实际上,这实际上不像用连字符替换空格那样简单.您通常还希望将其全部变为小写并规范化/替换变音符号,例如á,ö,è等,这些都是无效的URL字符.唯一有效的字符在第二个表this Wikipedia page中列为“未保留的字符”.
这样的函数如下所示:
public static String prettyURL(String string) {
return Normalizer.normalize(string.toLowerCase(), Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+", "")
.replaceAll("[^\\p{Alnum}]+", "-");
}
它基本上执行以下操作:
>小写字符串
>删除组合diacritical marks(在Normalizer从实际字符中“提取”了它们之后)
>用连字符替换非字母数字字符
也可以看看:
> JSP 2.0 SEO friendly links encoding
标签:friendly-url,java,regex,seo 来源: https://codeday.me/bug/20191013/1910233.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。