将c#string中的特殊字符转换为html特殊字符

时间:2013-01-02 05:09:43

标签: javascript jquery html html5 c#-4.0

我正在使用.Net:

fulltext = File.ReadAllText(@location);

在给定的locatin读取文本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 \ n应该用换行标记替换 以便在html页面显示中正确格式化它们。

是否有任何.net类可以执行此操作?我正在寻找通用方法,因为我正在阅读文件,我可以有任何特殊字符。提前感谢您的帮助或指导。

2 个答案:

答案 0 :(得分:1)

你正试图解决两个问题:

  1. 确保正确编码特殊字符
  2. 漂亮打印文字
  3. 按此顺序解决问题:

    1. 首先,通过导入System.Web命名空间并使用HttpUtility(asked on StackOverflow)对文本进行编码。使用步骤2中的结果。
    2. 漂亮的印刷比较复杂,具体取决于您想要的漂亮印刷量。以下是一些方法,按难度递增顺序:
      • 将文本放在pre元素中。这应该保留换行符,制表符,空格。如果你首先在pre上打一个CSS类,你仍然可以调整使用CSS的字体。
      • 将所有\r\r\n和剩余的\n替换为<br/>
      • 研究文本结构,根据此结构进行解析,并在特定上下文中提供特定标记。例如,示例中的制表符可能表示项目列表。 HTML为列表提供了olul元素。同样,连续的换行符可能表示段落,HTML为其提供了众所周知的p元素。

答案 1 :(得分:1)

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

  

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

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

enter image description here