当前位置: 首页 > 面试题库 >

如何在Java中将“ Lorem 3 ipsum dolor sit amet”翻译成SEO友好的“ Lorem-3-ipsum-dolor-sit- amet”?

吴城
2023-03-14
问题内容

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

我验证其标题以确保其标题 仅包含字母和数字

如果他们输入类似

Lorem 3 ipsum dolor sit amet

我该如何生成此文本的SEO友好版本:

Lorem-3-ipsum-dolor-sit-amet

问题答案:

实际上,这实际上不像用连字符替换空格那样简单。您通常还希望将其全部变为小写并规范化/替换变音符号,例如á,ö,è等,这些都是 无效的
URL字符。唯一有效的字符在此Wikipedia页面的第二表中被列为“未保留的字符” 。

这样的函数如下所示:

public static String prettyURL(String string) {
    return Normalizer.normalize(string.toLowerCase(), Form.NFD)
        .replaceAll("\\p{InCombiningDiacriticalMarks}+", "")
        .replaceAll("[^\\p{Alnum}]+", "-");
}

它基本上执行以下操作:

  • 小写字符串
  • 删除组合的变音标记(在Normalizer从实际字符中“提取”了它们之后)
  • 用连字符替换非字母数字字符

也可以看看:

  • JSP 2.0 SEO友好链接编码


 类似资料:
  • “Lorem ipsum” dummy text is used by many web-developers to test how their HTML templates will look with real data. Often, developers use third-party services to generate “Lorem ipsum” text, but now yo

  • This plugin wil generate Lorem Ipsum text for use as dummy texts on webpages. You only have to specify wich elements you want to fill with dummy text and the plugin does the rest. You can specfiy: typ

  • 问题内容: 来自维基百科: 甲 蛞蝓 是识别使用人类可读关键字的页面的URL的一部分。 为了使URL易于用户输入,通常也删除或替换特殊字符。例如,带重音的字符通常被英语字母中的字母代替;标点符号通常会被删除;和空格(必须将其编码为%20或+)替换为破折号(-)或下划线(_),从美学上讲更令人愉悦。 语境 我开发了一个照片共享网站,用户可以在该网站上上传,共享和查看照片。 所有页面都是自动生成的,而

  • 问题内容: 如何在OpenCart中自定义系统URL?例如,我希望将http://example.com/index.php?route=checkout/cart显示为http://example.com/cart 我知道OpenCart为产品,类别,制造商和信息页面提供了SEO URL,但其他任何东西似乎都没有内置的东西(至少在1.5.0版之前)。 问题答案: 事实证明,可以通过相对简单的更改

  • 有人能把它翻译成python代码吗,例如,我知道第一行和第二行将是 我只是想不出其他的

  • 我有一个用Django编写的应用程序,我正在尝试在Digital Ocean droplet上的docker中运行它。目前我有两个文件。 有人能建议如何摆脱docker compose吗。yml文件并集成Dockerfile中的所有命令??? 文档文件 docker编写。yml公司 我运行我的应用程序和docker映像,如下所示: docker compose运行web python jk/man