程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 正則表達式相關:C# RichTextBox顯示html文本內容

正則表達式相關:C# RichTextBox顯示html文本內容

編輯:C#入門知識

 這兩天做了一個功能,需要將抓取到的網頁html中的文本按格式顯示在richtextbox中。可是richtextbox不識別html標簽。本打算自己寫個html解釋器,但是需要花費時間太多了。既然是個小功能還是找個捷徑吧。想了兩種辦法。
1、不用richtextbox了,直接用webbrowser顯示。
既然richtextbox不識別html,WebBrowser總該識別吧。用WebBrowser替換掉richtextbox吧。

[csharp]
            string testString = @"<FONT face=Verdana><FONT face=Verdana> 
<P><FONT face=Verdana>測試內容:</FONT></P> 
<P><FONT face=Verdana>    哈哈       <BR>    吃飯啦<BR>     下班啦   <BR>     回家<BR>     睡覺       </FONT></P> 
<P><FONT face=Verdana>呵呵呵<BR>神馬</FONT></P> 
<P><FONT face=Verdana><BR></FONT> </P></FONT> 
<P><FONT face=Verdana><BR></FONT> </P></FONT>"; 
 
            webBrowser1.DocumentText = testString; 
            //不過似乎保險一點再加兩句  
            webBrowser1.Document.Write(testString); 
 
            webBrowser1.Refresh(); 
            string testString = @"<FONT face=Verdana><FONT face=Verdana>
<P><FONT face=Verdana>測試內容:</FONT></P>
<P><FONT face=Verdana>    哈哈       <BR>    吃飯啦<BR>     下班啦   <BR>     回家<BR>     睡覺       </FONT></P>
<P><FONT face=Verdana>呵呵呵<BR>神馬</FONT></P>
<P><FONT face=Verdana><BR></FONT> </P></FONT>
<P><FONT face=Verdana><BR></FONT> </P></FONT>";

            webBrowser1.DocumentText = testString;
            //不過似乎保險一點再加兩句
            webBrowser1.Document.Write(testString);

            webBrowser1.Refresh();
2、由於一些原因必須要richtextbox顯示。
既然這樣就只好用個不倫不類的方法吧。還是利用WebBrowser。

[csharp]
            string testString = @"<FONT face=Verdana><FONT face=Verdana> 
<P><FONT face=Verdana>測試內容:</FONT></P> 
<P><FONT face=Verdana>    哈哈       <BR>    吃飯啦<BR>     下班啦   <BR>     回家<BR>     睡覺       </FONT></P> 
<P><FONT face=Verdana>呵呵呵<BR>神馬</FONT></P> 
<P><FONT face=Verdana><BR></FONT> </P></FONT> 
<P><FONT face=Verdana><BR></FONT> </P></FONT>"; 
            using (WebBrowser webBrowser = new WebBrowser()) 
            { 
                webBrowser.Visible = false; 
 
                webBrowser.DocumentText = testString; 
 
                webBrowser.Document.Write(testString); 
 
                this.richTextBox1.Text = webBrowser.Document.Body.OuterText; 
            } 
            string testString = @"<FONT face=Verdana><FONT face=Verdana>
<P><FONT face=Verdana>測試內容:</FONT></P>
<P><FONT face=Verdana>    哈哈       <BR>    吃飯啦<BR>     下班啦   <BR>     回家<BR>     睡覺       </FONT></P>
<P><FONT face=Verdana>呵呵呵<BR>神馬</FONT></P>
<P><FONT face=Verdana><BR></FONT> </P></FONT>
<P><FONT face=Verdana><BR></FONT> </P></FONT>";
            using (WebBrowser webBrowser = new WebBrowser())
            {
                webBrowser.Visible = false;

                webBrowser.DocumentText = testString;

                webBrowser.Document.Write(testString);

                this.richTextBox1.Text = webBrowser.Document.Body.OuterText;
            }
這樣可以將純文本內容取到,進行單獨處理和應用在別的地方就方便了。
這樣結果如下:

 \

說明:
1、這裡之所以用webBrowser.Document.Write,因為只是 webBrowser.DocumentText = testString的話,webBrowser.Document.Body就是null,沒法去文本;
2、過程有些慢;

 

 

摘自 白楊樹

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved