【发布时间】:2014-06-23 10:29:40
【问题描述】:
whats 是在字符串中查找和替换 url 的最佳方法。现在我使用正则表达式
Regex regx = new Regex("http(s)?://([\\w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\,]*([a-zA-Z0-9\\?\\#\\=\\/]){1})?",
RegexOptions.IgnoreCase);
string output = regx.Replace(text, "<a href=\"$0\" target=\"_blank\">$0</a> ");
但这是丑陋的代码,效果不好,因为它找不到 www.server.com 和 http://server.nonexist 是错误的 url 正则表达式找到这个。
获取一些长字符串并返回带有html链接的字符串的最佳方法是什么?
例如
input = Lorem ipsum dolor sit http://www.server.com/ amet
output = Lorem ipsum dolor sit <a href="http://www.server.com/"> http://www.server.com/</a> amet
【问题讨论】:
-
我不会这么说的。这是一个完全不同的话题
-
我看不出这是问题的重复。
-
@ErikPhilips 这不是重复的,因为正则表达式是匹配一个 URL 并被替换为标签,而不是相反。
-
Obligatory link 是一个真正的答案,而不是一个甚至不适用的愚蠢笑话。