Обработка BB-кодов

  1. private void parseBBcodes()
  2. {
  3.     string[] tag = new string[] { "b", "i", "u", "s", "c" };
  4.  
  5.     for (int i = 0; i < tag.Length; i++)
  6.     {
  7.         int temp = 0;
  8.         while ((temp = messageBox.Text.IndexOf("["+tag[i]+"]", temp)) > 0)
  9.         {
  10.             messageBox.Select(temp, messageBox.Text.IndexOf("[/" + tag[i] + "]", temp) - temp + 4);
  11.             //обработка тега
  12.             if (i == 0) messageBox.SelectionFont = new Font(messageBox.SelectionFont, FontStyle.Bold);
  13.             else if (i == 1) messageBox.SelectionFont = new Font(messageBox.SelectionFont, FontStyle.Italic);
  14.             else if (i == 2) messageBox.SelectionFont = new Font(messageBox.SelectionFont, FontStyle.Underline);
  15.             else if (i == 3) messageBox.SelectionFont = new Font(messageBox.SelectionFont, FontStyle.Strikeout);
  16.             else messageBox.SelectionColor = Color.Gray;
  17.             //удаляем тег
  18.             messageBox.SelectedText = messageBox.SelectedText.Substring(3, messageBox.SelectedText.Length - 7);
  19.             if (i == 4) messageBox.SelectedText += "\r\n"; //добавляем перевод строки после цитаты
  20.         }
  21.     }
  22. }
При вызове метода в RichTextBox messageBox должен быть текст.

Реклама

Мы в соцсетях

tw tg yt gt