用于缩小URL的库/算法

时间:2011-03-04 16:47:56

标签: java javascript url heuristics

我想在有限的区域内显示网址:2行和~120px的宽度。显然大多数网址都不合适。

所以我正在寻找一种方法来“缩小”一个URL,以使其更小但仍然可识别并与其他人区别开来。

例如:

  

https://stackoverflow.com/questions/ask

     

http://www.cnn.com/2011/US/03/04/obama.miami.school/index.html

     

http://techcrunch.com/2011/03/04/founder-stories-foursquare-crowley-invent-future/

     

http://cran.r-project.org/web/packages/bcp/index.html

成为

  

stackoverflow |问

     

cnn | obama.miami.school

     

techcrunch |创办人故事-四角

     

cran.r-project.org |包/ BCP

所以你看这是一个有创意的问题。 计算可以在服务器(Java)或客户端(Javascript)上完成。

非常欢迎任何反馈!

2 个答案:

答案 0 :(得分:2)

你可以:

  • 剥离公共部分(“http://”,“www”,“。com”,“。html”......)
  • 剥离号码
  • 删除多个连续的特殊字符(不是字母)
  • 定义常见长部件的缩写(foursquare - > 4sq)

  • 检查数据库中剩下的碎片是多么常见。保持不常见的并放弃常见的,直到结果足够短。

答案 1 :(得分:2)

我会小心不要删除太多信息。或创建许多缩写。

你不想要

yourbank.com\login
yourbank.hackersite\login.php

两者看起来像:

yourbank | login

或者,您将使恶意攻击者很容易滥用您的系统。

即使您没有省略顶级域名部分,用户也很容易混淆,哪些恶意攻击者可能会滥用。也许突出显示URL中最重要的部分将是一种改进。