Ca fait longtemps que j'ai pas posté sur le forum.

Bon alors j'ai un souci avec une fonction utilisant une regex pour remplacer une url en balise <a href=.....> etc.
Dans cette fonction, je cherche à trouver une chaine du genre et la transformer en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<a href="monurl">montexte</a>
ET, toujours dans le même bloc de texte, chercher les url pour les retranscrire en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<a href="monurl">monurl</a>
afin de la rendre cliquable.
cette deuxième partie fonctionne très bien. la première ne matche rien du tout et quand bien même j'y arriverais, je n'ai pour l'instant pas d'idée pour combiner les deux sans que la 2ème n'écrase le résultat de la première.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
        public static string UrlReformate(string rawtext)
        {
            string result = "";
 
            if (rawtext != null)
            {
                string re1 = @"^(?:\[\[.*\|(?:(?:\w+):\/\/(?:[\w@][\w.:@]+)\/?[\w\.?=%&=\-@/$,]*)\]\])$";
                string re2 = @"(?:(?:\w+):\/\/(?:[\w@][\w.:@]+)\/?[\w\.?=%&=\-@/$,]*)";
                Regex r1 = new Regex(re1, RegexOptions.IgnoreCase | RegexOptions.Singleline);
                Regex r2 = new Regex(re2, RegexOptions.IgnoreCase | RegexOptions.Singleline);
 
                if (r1.Match(rawtext).Success)
                {
                    result = r1.Replace(rawtext, delegate(Match m)
                    {
                        string[] match = m.Value.Split('|');
                        return "<a href='" + match[1] + "'>" + match[0] + "</a>";
                    });
                }
                else
                    result = r2.Replace(rawtext, delegate(Match m)
                    {
                        return "<a href='" + m.Value + "'>" + m.Value + "</a>";
                    });
            }
            return result;
        }
Texte d'essai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
test
 
ceci est un texte de test
[[cliquer ici|http://www.google.fr]], pour ouvrir Google.