C#---HTML 텍스트 변환 및 HTML 내용 추출

3063 단어 C#
//1、HTML     

//    
HtmlToText convert = new HtmlToText();
textBox2.Text = convert.Convert(textBox1.Text);


//  
/// 
/// Converts HTML to plain text.
/// 
class HtmlToText
{
    // Static data tables
    protected static Dictionary _tags;
    protected static HashSet _ignoreTags;

    // Instance variables
    protected TextBuilder _text;
    protected string _html;
    protected int _pos;

    // Static constructor (one time only)
    static HtmlToText()
    {
        _tags = new Dictionary();
        _tags.Add("address", "
"); _tags.Add("blockquote", "
"); _tags.Add("div", "
"); _tags.Add("dl", "
"); _tags.Add("fieldset", "
"); _tags.Add("form", "
"); _tags.Add("h1", "
"); _tags.Add("/h1", "
"); _tags.Add("h2", "
"); _tags.Add("/h2", "
"); _tags.Add("h3", "
"); _tags.Add("/h3", "
"); _tags.Add("h4", "
"); _tags.Add("/h4", "
"); _tags.Add("h5", "
"); _tags.Add("/h5", "
"); _tags.Add("h6", "
"); _tags.Add("/h6", "
"); _tags.Add("p", "
"); _tags.Add("/p", "
"); _tags.Add("table", "
"); _tags.Add("/table", "
"); _tags.Add("ul", "
"); _tags.Add("/ul", "
"); _tags.Add("ol", "
"); _tags.Add("/ol", "
"); _tags.Add("/li", "
"); _tags.Add("br", "
"); _tags.Add("/td", "\t"); _tags.Add("/tr", "
"); _tags.Add("/pre", "
"); _ignoreTags = new HashSet(); _ignoreTags.Add("script"); _ignoreTags.Add("noscript"); _ignoreTags.Add("style"); _ignoreTags.Add("object"); } /// /// Converts the given HTML to plain text and returns the result. /// /// HTML to be converted /// Resulting plain text public string Convert(string html) { // Initialize state variables _text = new TextBuilder(); _html = html; _pos = 0; // Process input while (!EndOfText) { if (Peek() == ' _text.Clear(); } else if (tag == "/body") { // Discard content after

좋은 웹페이지 즐겨찾기