Java 如何翻译;Lorem 3 ipsum dolor sit amet“;“进入SEO友好型”;Lorem-3-ipsum-dolor-sit-amet;在爪哇?

Java 如何翻译;Lorem 3 ipsum dolor sit amet“;“进入SEO友好型”;Lorem-3-ipsum-dolor-sit-amet;在爪哇?,java,regex,seo,friendly-url,Java,Regex,Seo,Friendly Url,在我的博客应用程序中,用户可以输入任何文本作为其条目的标题,然后我根据文本生成URL 我验证他们的标题,以确保它只包含字母和数字 如果他们进入 Lorem 3 ipsum dolor sit amet 我如何生成此文本的SEO友好版本: Lorem-3-ipsum-dolor-sit-amet 因为它似乎不允许我发表评论。我会: String s = "Lorem 3 ipsum dolor sit amet" s = s.replaceAll(" ","_"); 改为使用下划线字符,因为

在我的博客应用程序中,用户可以输入任何文本作为其条目的标题,然后我根据文本生成URL

我验证他们的标题,以确保它只包含字母和数字

如果他们进入

Lorem 3 ipsum dolor sit amet
我如何生成此文本的SEO友好版本:

Lorem-3-ipsum-dolor-sit-amet

因为它似乎不允许我发表评论。我会:

String s = "Lorem 3 ipsum dolor sit amet"
s = s.replaceAll(" ","_");

改为使用下划线字符,因为它是空格指示符。我已经有一段时间没有使用java了,但我知道.Net中有一个函数可以清除文件名,这样文件系统就安全了。我对URL有很多相同的一般规则,因此,如果您能在API中找到URL,就值得一看。

因为它似乎不允许我发表评论。我会:

String s = "Lorem 3 ipsum dolor sit amet"
s = s.replaceAll(" ","_");

改为使用下划线字符,因为它是空格指示符。我已经有一段时间没有使用java了,但我知道.Net中有一个函数可以清除文件名,这样文件系统就安全了。对于URL,我有很多相同的一般规则,因此如果您能在API中找到URL,那么就值得一看。

实际上,这并不像用宣传语代替空格那么简单。您通常还希望将其全部小写,并规范化/替换变音符号,如á、ö、è等无效的URL字符。唯一有效的字符列为“未保留字符”在的第二个表中

下面是这样一个函数的样子:

public static String prettyURL(String string) {
    return Normalizer.normalize(string.toLowerCase(), Form.NFD)
        .replaceAll("\\p{InCombiningDiacriticalMarks}+", "")
        .replaceAll("[^\\p{Alnum}]+", "-");
}
其基本功能如下:

  • 将字符串小写
  • 移除合并(在规格化器从实际字符中“提取”它们之后)
  • 用连字符替换非字母数字字符
另见:

实际上,这并不像用催眠代替空格那么简单。您通常还希望将其全部小写,并规范化/替换变音符号,如á、ö、è等无效的URL字符。唯一有效的字符列为“未保留字符”在的第二个表中

下面是这样一个函数的样子:

public static String prettyURL(String string) {
    return Normalizer.normalize(string.toLowerCase(), Form.NFD)
        .replaceAll("\\p{InCombiningDiacriticalMarks}+", "")
        .replaceAll("[^\\p{Alnum}]+", "-");
}
其基本功能如下:

  • 将字符串小写
  • 移除合并(在规格化器从实际字符中“提取”它们之后)
  • 用连字符替换非字母数字字符
另见:

  • [slug]
    标签似乎与问题有关。我开始寻找一些链接,例如
    [slug]
    标签似乎与问题有关。我开始寻找一些链接,例如。