2011-07-23 5 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タグとして解釈されません。

関連する問題