Illegal char的URL如何工作?

时间:2011-12-05 17:51:44

标签: algorithm url

有许多站点(例如Stackoverflow)在URL中具有页面标题。 我正在寻找他们使用的算法,以避免非法的URL字符。 (我不想要URL编码,我想要替换/删除算法)

喜欢'非法字符的URL如何工作?'将成为'How-is-Illegal-chars-URL-working'

谢谢!

2 个答案:

答案 0 :(得分:2)

执行此操作的算法通常称为“slugify”,因为它将字符串转换为要在URL中使用的“slug”。搜索它应该为您提供大量有用的实现。

答案 1 :(得分:1)

不知道SO是如何做到的,但我会剥离每个非字母数字字符并用下划线替换空格。

在Python中:

def cleanTitle(title):
  temp = ''

  for character in title.lower():
    if character in 'abcdefghijklmnopqrstuvwxyz1234567890_-+/<>,.=[]{}()\|!@#$%^&':
      temp += character

  return temp

我看到你在使用C#。我不知道C#,所以你必须翻译这段代码。我怀疑这很难做到。