2011-07-23 76 views
0

我想建立一個接受輸入字符串,然後繪製它作爲一個MFC視圖樣式的文本的程序。我想知道如何在瀏覽器中查看時如下所示的字符串將顯示爲樣式文本字符串。瀏覽器解析格式化文本代碼

"this is a string that <b>will</b> <i>be displayed</i> by your browser" 

我想知道它是如何讀取<b> </b>等符合字符串時。如果將上面的字符串改寫爲:

"this is a string that <b>will <i>be </b> displayed</i> by your browser" 

「be」一詞現在變成粗體和斜體。

我不知道怎麼長給字串的小零件正確分區。傳統的Web瀏覽器是否採用樹結構來實現它們來處理它們?你介意提供一種我可以遵循的方法或例子嗎?

+0

這是怎麼回事無論是C++或MFC?問題是什麼? –

+0

是的,這是一個樹形結構:http://en.wikipedia.org/wiki/Document_Object_Model – Paulpro

+0

但:'< b >將< i >是< /b >顯示< /i >'是不是有效的HTML – Paulpro

回答

-1

最簡單的方法是使用MFC HTML視圖。這嵌入了一個Internet Explorer控件在你的視圖窗口中,並支持所有的HTML格式,styes,樣式表,JavaScript - 一切。如果要限制可以使用的HTML標記的類型,可以選擇解析文本並在將其插入控件之前刪除或替換禁用的標記。

在你輸入驗證只搜索輸入的字符串爲左尖括號(<),並檢查是否在該位置的標籤是允許的。你可以說這限於<b><i>就像你的例子。如果標籤不允許,只需將開角尖括號改爲&lt;。這將導致它被顯示爲<而不是通過瀏覽器控件被解釋爲HTML標籤