2

我正在使用.Net:

fulltext = File.ReadAllText(@location);

在给定位置读取文本 anyfile 内容。我得到的结果为:

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

感谢大家在这里提出宝贵的意见。我用以下代码解决了客户端的格式问题。

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

这里 textview 是我要显示全文的 div 。我认为我不需要替换字符串全文中的特殊字符。我输出如图。

在此处输入图像描述

于 2013-01-02T08:47:38.763 回答
1

您正在尝试解决两个问题:

  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 回答