将用户输入转换为url

时间:2013-10-08 10:37:24

标签: .net regex

我需要搜索用户输入的字符串,并将纯文本和类似于网址的任何内容转换为网址。

我不关心如何构建URL,更多如何确定文本是否实际上是一个URL。我正在考虑使用正则表达式(请参阅How to replace plain URLs with links?),但理想情况下我希望找到一种更具可读性的解决方案。

我想我需要搜索httpwww的实例并将字符串包装到anchor标记中的下一个空格。

有没有人有任何指针,特别是因为网址现在可以变得如此多变?

编辑:

用户将文本输入到提交的输入中,当在屏幕上显示时,我需要检查他们对任何可能链接的评论并将其转换为超链接。

1 个答案:

答案 0 :(得分:0)

您需要做的第一件事就是寻找任何经过验证的网址。您希望网址在什么时候成为网址。

当在浏览器地址栏中输入时,有效的网址会产生结果,产生(所需)结果;

  

以上所有内容在您的浏览器地址栏中输入时会产生结果。所以如果你的tekst有任何没有空格但有点的字符串!它可能是一个网址

(?< = [])。*?.. +?(?= [])

将从{<1}}中取出

  

将google.com验证为网址

然而,确定它的网址是否只能在您实际尝试获取网页时确认。

上面的正则表达式将为您提供上面的所有4个网址,但也可以获得foobars。如果你想确保你有一个有效的网址,请查看该页面,如果它对你来说是404,那么它不是一个网址