簡體   English   中英

如何在javascript或c#中的字符串中保留html標簽並轉義<>

[英]how to keep html tags and escape < > in string in javascript or c#

我在javascript中有一個字符串,我想使用c#代碼在excel文件中打印。 我的javascript字符串變量是這樣的:

var abc = "<span style=white-space:pre> (StartTime < '2015-05-01 06:00:00' and StopTime > '2015-01-01 06:00:00')</span>";

而且我正在使用正則表達式在html標記之間顯示內容。 如下圖所示:

var regX = /(<([^>]+)>)/ig;
abc = abc.replace(regX, "");

我只想顯示以下輸出:

(StartTime < '2015-05-01 06:00:00' and StopTime > '2015-01-01 06:00:00')

但是在正則表達式上方將<>用作標記,因此向我顯示的輸出是:

(StartTime  '2015-01-01 06:00:00')

如果有人對此有解決方案,請幫助我。

如果有人有解決方案在C#代碼中使用正則表達式來獲取所需的輸出,那么他也可能會告訴他的解決方案,因為最終我需要在C#代碼中使用此字符串,因此無論在哪里處理它。

var abc = "<span style=white-space:pre> (StartTime < '2015-05-01 06:00:00' and StopTime > '2015-01-01 06:00:00')</span>"

此變量包含錯誤的HTML。 如果您可以修復錯誤的來源,使其包含有效的HTML,例如:

var abc = "<span style=white-space:pre> (StartTime &lt; '2015-05-01 06:00:00' and StopTime > '2015-01-01 06:00:00')</span>";

這樣一來,生活就會輕松得多。

否則,如果可以確定要保留的<后面始終帶有空格,則可以使用正則表達式:

/(<\w([^>]+)>)/g

稍微安全一點的是:

/(<\[a-z]([^>]+)>)/ig

根據所有HTML元素,它將查找<后跟一個在A–Z范圍內的字母。 在某些情況下,在文本中實際使用<會看起來像一個標簽,因此,修復初始錯誤仍然是一種更好的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM