using System;
using System.Text .RegularExpressions ;
using System.Collections .Specialized ;
public class Test
{
public static void Main( )
{
var smilies = new OrderedDictionary
{
{ @">:(" , "smile_angryx24" } , // Put this one first
{ @":(" , "smile_sadx24" } ,
} ;
string incomingtext = @"This is sad... :( But this makes me so angry!!! >:(" ;
foreach ( string smiley in smilies.Keys )
{
var re = new Regex( @"(?<!(=" "))" + Regex.Escape ( smiley) + @"(?!(" "))" ) ;
// Second should be a negative lookahead ^^
if ( re.IsMatch ( incomingtext) )
{
string m2 = re.Replace ( incomingtext, "<img src=\" /Content/themes/mavi/img/custom/smiles/" + smilies[ smiley] + ".png\" alt=\" " + smiley + "\" />" ) ;
incomingtext = m2;
}
}
Console.WriteLine ( incomingtext) ;
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZDsKIApwdWJsaWMgY2xhc3MgVGVzdAp7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCiAgICB7CiAgICAJdmFyIHNtaWxpZXMgPSBuZXcgT3JkZXJlZERpY3Rpb25hcnkKCQl7CgkJICAgIHtAIj46KCIsICJzbWlsZV9hbmdyeXgyNCJ9LCAgLy8gUHV0IHRoaXMgb25lIGZpcnN0CgkJICAgIHtAIjooIiwgInNtaWxlX3NhZHgyNCJ9LAoJCX07CgkJc3RyaW5nIGluY29taW5ndGV4dCA9IEAiVGhpcyBpcyBzYWQuLi4gOiggQnV0IHRoaXMgbWFrZXMgbWUgc28gYW5ncnkhISEgPjooIjsKCQlmb3JlYWNoIChzdHJpbmcgc21pbGV5IGluIHNtaWxpZXMuS2V5cykKCQl7CgkJICAgIHZhciByZSA9IG5ldyBSZWdleChAIig/PCEoPSIiKSkiICsgUmVnZXguRXNjYXBlKHNtaWxleSkgKyBAIig/ISgiIikpIik7CgkJICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2Vjb25kIHNob3VsZCBiZSBhIG5lZ2F0aXZlIGxvb2thaGVhZCBeXgoJCSAgICBpZiAocmUuSXNNYXRjaChpbmNvbWluZ3RleHQpKQoJCSAgICB7CgkJICAgICAgICBzdHJpbmcgbTIgPSByZS5SZXBsYWNlKGluY29taW5ndGV4dCwgIjxpbWcgc3JjPVwiL0NvbnRlbnQvdGhlbWVzL21hdmkvaW1nL2N1c3RvbS9zbWlsZXMvIiArIHNtaWxpZXNbc21pbGV5XSArICIucG5nXCIgIGFsdD1cIiIgKyBzbWlsZXkgKyAiXCIvPiIpOwoJCSAgICAgICAgaW5jb21pbmd0ZXh0ID0gbTI7CgkJICAgIH0KCQl9CgkJQ29uc29sZS5Xcml0ZUxpbmUoaW5jb21pbmd0ZXh0KTsKICAgIH0KfQ==