Добавьте следующий класс:
using System.Text.RegularExpressions;
пространства имен CK.TicketSystem.Shared { общественный статический класс HtmlUtils { общественности статической BOOL IsHtmlFragment (строковое значение) { возвращение Regex.IsMatch (значение, @ ""); }
/// <summary>
/// Remove tags from a html string
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static string RemoveTags(string value)
{
if (value != null)
{
value = CleanHtmlComments(value);
value = CleanHtmlBehaviour(value);
value = Regex.Replace(value, @"</[^>]+?>", " ");
value = Regex.Replace(value, @"<[^>]+?>", "");
value = value.Trim();
}
return value;
}
/// <summary>
/// Clean script and styles html tags and content
/// </summary>
/// <returns></returns>
public static string CleanHtmlBehaviour(string value)
{
value = Regex.Replace(value, "(<style.+?</style>)|(<script.+?</script>)", "", RegexOptions.IgnoreCase | RegexOptions.Singleline);
return value;
}
/// <summary>
/// Replace the html commens (also html ifs of msword).
/// </summary>
public static string CleanHtmlComments(string value)
{
//Remove disallowed html tags.
value = Regex.Replace(value, "<!--.+?-->", "", RegexOptions.IgnoreCase | RegexOptions.Singleline);
return value;
}
/// <summary>
/// Adds rel=nofollow to html anchors
/// </summary>
public static string HtmlLinkAddNoFollow(string value)
{
return Regex.Replace(value, "<a[^>]+href=\"?'?(?!#[\\w-]+)([^'\">]+)\"?'?[^>]*>(.*?)</a>", "<a href=\"$1\" rel=\"nofollow\" target=\"_blank\">$2</a>", RegexOptions.IgnoreCase | RegexOptions.Compiled);
}
}
}
Я должен сказать, что я нашел этот класс в блоге некоторые действительно хороший разработчик, но, к сожалению, я не могу вспомнить, где я нашел его.
Тогда вы:
var str = HtmlUtils.RemoveTags(yourHtmlString);
var numberOfCharacters = str.Length;
Надеется, что это помогает
элементу управление WebBrowser отображает гораздо больше, чем текст. Например, он включает в себя изображения. Вы просто хотите подсчитать количество символов в тексте, который он отображает? Или вы хотите подсчитать количество символов в исходном HTML? Вы также ссылаетесь на событие TextChanged для TextBox, которое запускается, когда текст, отображаемый в текстовом поле, изменяется ... эквивалентное событие для WebBrowser было бы чем-то вроде Navigated. Ваш вопрос нуждается в гораздо более подробной информации. –
Вы говорите о подсчете символов html-документа? –
Просьба уточнить ваши намерения, чтобы мы могли ответить на ваш вопрос. –