用于将html-markup转换为JavaScript兼容字符串的C#方法

时间:2010-09-07 13:01:43

标签: c# javascript jquery html

我认为应该存在一种已知的转换方法:

   <div class="singlePane pane">
     <div class="tripleColumn"> <!-- TODO:  -->
     <div class="col">

    <div class="captionedLink">
     <div class="icon" style="background-position: -26px 0px;"> blah blah

INTO THIS:

    \r\n \u003Cdiv class=\"singlePane pane\"\u003E\r\n \u003Cdiv class=\"tripleColumn
\"\u003E \u003C!-- TODO --\u003E\r\n \u003Cdiv class=\"col\"\u003E\r\n 
\n\u003Cdiv class=\"captionedLink\"\u003E\n \u003Cdiv class=\"icon\" style=\"background-
position: -26px 0px\"\uBLAH BLAH

请告诉我。

提前致谢!

2 个答案:

答案 0 :(得分:0)

这绝不是执行此操作的最快方法(静态Regex.Replace方法与Regex实例相比较慢。但我这样做是为了将任何html转换为可用于的字符串document.write

string htmlResult = "/*string*/";
htmlResult = Regex.Replace(htmlResult, @"\r\n", " ");
htmlResult = Regex.Replace(htmlResult, @"\n", " ");
htmlResult = Regex.Replace(htmlResult, @"\s{2,}", " ");
htmlResult = Regex.Replace(htmlResult, @"\\", @"\\");
htmlResult = Regex.Replace(htmlResult, @"[']", @"\'");

这也消除了所有回车和不必要的空格。

答案 1 :(得分:0)

我目前正在使用Rick Strahl's JavaScript encoding的略微修改版本。 适合我!