A teraz kilka wyrażeń regularnych z wykorzystaniem w konkretnych metodach w C# :)
Metoda wyszukująca linki i podmieniająca je na znaczniki html:
public static string FormatURL(string str)
{
string url = string.Empty;
Regex reg = new Regex("([^=\"<'])(http(s)?://([\\w+?\\.\\w+])+([a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\/\\?\\.\\:\\;\\'\\,]*)?)", RegexOptions.IgnoreCase);
Match m = reg.Match(str);
if (m.Groups[1].Value != "") url = m.Groups[2].Value;
str = reg.Replace(str, "$1<a href=\"$2\" target=\"_blank\" rel=\"nofollow\">$2</a>");
return str;
}
Kolejny przykład to dwie funkcje, które umożliwiają formatowanie treści ze znacznikami bbcode na naszej stronie :)
Formatowanie znacznika bbcode dla cytatu:
public static string FormatCytatu(string str)
{
Regex reg = new Regex(@"(\[quote=([\w .-]*)\])", RegexOptions.IgnoreCase);
str = reg.Replace(str, "<div class=\"quote_box\"><div style=\"margin: 5px;\"><b>$2 napisał(a):</b><br /><i>");
str = str.Replace("[/quote]", "</i></div></div>");
return str;
}
Funkcja formatująca czcionkę:
public static string FormatCzcionki(string str)
{
Regex reg = new Regex(@"(\[color=([a-zA-Z]*)\])", RegexOptions.IgnoreCase);
str = reg.Replace(str, "<font color=\"$2\">");
str = str.Replace("[/color]", "</font>")
return str;
}
Brak komentarzy:
Prześlij komentarz