2

私は.Netを使用しています:

fulltext = File.ReadAllText(@location);

指定された場所で任意のファイルのコンテンツをテキストで読み取る。私は次のような結果を得ました:

fulltext="# vdk10.syx\t1.1 - 3/15/94\r# @(#)Copyright (C) 1987-1993 Verity, Inc.\r#\r# Synonym-list Database Descriptor\r#\r$control: 1\rdescriptor:\r{\r data-table: syu\r {\r worm:\tTHDSTAMP\t\tdate\r worm:\tQPARSER\t\t\ttext\r\t/_hexdata = yes\r varwidth:\tWORD\t\tsyv\r fixwidth:\tEXPLEN\t\t\t2 unsigned-integer\r varwidth:\tEXPLIST\t\tsyx\r\t/_hexdata = yes\r }\r data-table: syw\r {\r varwidth:\tSYNONYMS\tsyz\r }\r}\r\r ";

さて、特殊文字がhtmlで正しく認識されるように、このフルテキストをhtmlページに表示したいと思います。例: \r は改行タグに置き換えて、html ページ表示で適切にフォーマットされるようにする必要があります。

これを行う.netクラスはありますか? ファイルを読んでいて、特殊文字を使用できるため、普遍的な方法を探しています。ヘルプまたは指示を事前に感謝します。

4

2 に答える 2

1

次の 2 つの問題を解決しようとしています。

  1. 特殊文字が正しくエンコードされていることを確認する
  2. テキストをきれいに印刷する

次の順序でそれらを解決します。

  1. まず、System.Web 名前空間をインポートし、HttpUtility ( StackOverflow で質問) を使用して、テキストをエンコードします。手順 2 で結果を使用します。
  2. 必要なプリティ プリンティングの量によっては、プリティ プリンティングはよりトリッキーです。難易度の高い順に、いくつかのアプローチを次に示します。
    • テキストをpre要素に入れます。これにより、改行、タブ、スペースが保持されます。pre. _
    • すべて\rを置き換え\r\n、残り\nをに置き換えます<br/>
    • テキストの構造を調べ、この構造に従って解析し、特定のコンテキストで特定のタグを提供します。たとえば、あなたの例のタブ文字は、アイテムのリストを示している可能性があります。HTML には、リスト用の 要素olul要素が用意されています。同様に、連続する改行は、HTML が既知のp要素を提供する段落を示している場合があります。
于 2013-01-02T05:32:02.453 に答える
1

貴重なご意見をお寄せいただきありがとうございます。次のコードを使用して、クライアント側でフォーマットの問題を解決しました。

document.getElementById('textView').innerText = fulltext;

ここで textview は、フルテキストを表示したい div です。文字列のフルテキストで特殊文字を置き換える必要はないと思います。図のように出力します。

ここに画像の説明を入力

于 2013-01-02T08:47:38.763 に答える