我正在使用.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 类可以执行此操作?我正在寻找通用方法,因为我正在读取文件并且可以有任何特殊字符。预先感谢您的帮助或指导。
最佳答案
您正在尝试解决两个问题:
- 确保特殊字符正确编码
- 美化您的文本
按以下顺序解决它们:
- 首先,通过导入 System.Web 命名空间并使用 HttpUtility ( asked on StackOverflow ) 对文本进行编码。使用步骤 2 中的结果。
- pretty-print 比较棘手,具体取决于您想要的 pretty-print 量。以下是一些方法,按难度递增:
- 将文本放入
pre
中元素。这应该保留换行符、制表符、空格。如果您首先在pre
上添加 CSS 类,您仍然可以使用 CSS 调整使用的字体。 . - 全部替换
\r
,\r\n
剩余\n
与<br/>
. - 研究文本的结构,根据该结构对其进行解析,并在特定上下文中提供特定标签。例如,示例中的制表符可能表示项目列表。 HTML 提供
ol
和ul
列表的元素。类似地,连续的换行符可能表示段落,HTML 提供了众所周知的p
。元素。
- 将文本放入
关于javascript - 将c#字符串中的特殊字符转换为html特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14117107/