2013-10-08 81 views
0

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

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

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

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

编辑:

用户输入文本插入被提交后,在屏幕上我需要检查自己的评论任何可能的链接,并将其转换为超链接显示时的输入。

+0

这是否适合你? http://stackoverflow.com/questions/927847/is-there-a-url-validator-on-net – luiscubal

+0

我不知道这个,谢谢!这意味着按空格分隔文本,并通过这个函数传递每个项目,如果它返回true,那么我可以将它包装在一个锚点中。这听起来似乎合理吗? – DavidB

回答

0

您需要做的第一件事就是寻找任何经过验证的网址。你想在哪一个网址成为一个网址。

一个有效的url在浏览器地址栏中输入时产生一个结果,产生一个(期望的)结果;

时输入了您的浏览器地址栏上述所有产生结果。所以如果你的tekst有任何没有空格但有点的字符串!它可能是

?+?

会得到google.com出它的URL

(?< = [])* ...([] =)您

确实google.com验证为网址

但是,如果确定其网址只能在您确实尝试获取网页时才能确定。

上面的正则表达式会让你看到上面的所有4个URL,但也可以让你看到foobars。如果你想确保你有一个有效的网址,做一个页面查找,如果它变成404对你而言,它不是一个网址

+0

谢谢,但我得到了一个很好的解决方案,将创建一个链接出任何开始https,http,ftp,www的万能,并且还将创建mailto链接。你的建议很好,但我认为我想要的东西太过分了 – DavidB