代码之家  ›  专栏  ›  技术社区  ›  Chaddeus

使用C#,如何在文本块中搜索和输入超链接?

  •  2
  • Chaddeus  · 技术社区  · 14 年前

    http://somekind.oflink.com 一个html锚定标签。

    捕捉链接的最佳方式是什么?我只想支持以“http://”开头的链接。

    谢谢!

    2 回复  |  直到 14 年前
        1
  •  5
  •   Amarghosh    14 年前

    "(http://([^ ]+))" 具有 "<a href=\"$1\">$2</a>"

      string input = "Why don't you use http://www.google.com for that?";
      string pattern = "(http://([^ ]+))";
      string replacement = "<a href=\"$1\">$2</a>";
      Regex rgx = new Regex(pattern);
      string result = rgx.Replace(input, replacement);
      Console.WriteLine("Original String: {0}", input);
      Console.WriteLine("Replacement String: {0}", result)
    
        2
  •  0
  •   Martin Ingvar Kofoed Jensen    14 年前

    使用正则表达式。您可以在此处找到表达式: http://regexlib.com/Search.aspx?k=url

    然后这样做:

    Regex regex = new Regex("YOUR PATTERN");
    regex.Replace(
       textBlock, 
       delegate (Match m) { 
           return string.Format(@"<a href=""{0}"">{0}</a>", m.Groups[0]); 
       });
    

    注意,您应该用符合您需要的正则表达式替换“您的模式”。