2010-06-28 8 views
2

quelqu'un sait comment "découvrir" un lien hypertexte dans un texte et le convertir en hyperlien html avec asp.net (ou javascript). Par exemple, si un utilisateur entre ce texte:ASP.NET: convertir un lien hypertexte simple en hyperlien html

You found it at http://www.foo.com

Comment puis-je trouver et convertir en html comme:

You found it at <a href='http://www.foo.com'>http....</a>

? Merci d'avance

Répondre

3

Vous devriez être capable d'utiliser des expressions régulières pour cela assez facilement.

string InsertHyperLinks(string input) 
{ 
    string pattern = @"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)"; 
    Regex r = new Regex(pattern); 
    MatchEvaluator myEvaluator = new MatchEvaluator(delegate(Match m) { return String.Format("<a href=\"{0}\">{0}</a>", m.ToString()); }); 
    return r.Replace(input, myEvaluator); 
} 

Expression régulière prise à partir d'ici; http://www.geekzilla.co.uk/View2D3B0109-C1B2-4B4E-BFFD-E8088CBC85FD.htm

Utilisation de MatchEvaluator sur la base de cet exemple; http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.matchevaluator(v=VS.71).aspx

+0

merci mcatackney !! – stighy

Questions connexes