我需要搜索用户输入的字符串,并将纯文本和类似于网址的任何内容转换为网址。
我不关心如何构建URL,更多如何确定文本是否实际上是一个URL。我正在考虑使用正则表达式(请参阅How to replace plain URLs with links?),但理想情况下我希望找到一种更具可读性的解决方案。
我想我需要搜索http
或www
的实例并将字符串包装到anchor
标记中的下一个空格。
有没有人有任何指针,特别是因为网址现在可以变得如此多变?
编辑:
用户将文本输入到提交的输入中,当在屏幕上显示时,我需要检查他们对任何可能链接的评论并将其转换为超链接。
答案 0 :(得分:0)
您需要做的第一件事就是寻找任何经过验证的网址。您希望网址在什么时候成为网址。
当在浏览器地址栏中输入时,有效的网址会产生结果,产生(所需)结果;
- google.com
- www.google.com
- http://google.com
- http://www.google.com
以上所有内容在您的浏览器地址栏中输入时会产生结果。所以如果你的tekst有任何没有空格但有点的字符串!它可能是一个网址
(?< = [])。*?.. +?(?= [])
将从{<1}}中取出
将google.com验证为网址
然而,确定它的网址是否只能在您实际尝试获取网页时确认。
上面的正则表达式将为您提供上面的所有4个网址,但也可以获得foobars。如果你想确保你有一个有效的网址,请查看该页面,如果它对你来说是404,那么它不是一个网址