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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.