0

我有大量的编码文本,如下所示:

<div id="readingPaneContentContainer" class="ClearBoth"  cmp="cmp" ulr="ulr"><a id="rpFocusElt" href="javascript:void(0)&#59;" style="height:1px&#59;width:1px&#59

我想全部解码,所以有(示例):

<div id="readingPaneContentContainer" class="ClearBoth".....

可以用正则表达式做吗?

任何帮助,将不胜感激。

卢卡

4

2 回答 2

1

看到这个线程 - 它有完美的 jQuery 解决方案:

如何使用 jQuery 解码 HTML 实体?

var encoded = '&#60;div id&#61;&#34;readingPaneContentContainer&#34; class&#61;&#34;ClearBoth&#34;  cmp&#61;&#34;cmp&#34; ulr&#61;&#34;ulr&#34;&#62;&#60;a id&#61;&#34;rpFocusElt&#34; href&#61;&#34;javascript&#58;void&#40;0&#41;&#59;&#34; style&#61;&#34;height&#58;1px&#59;width&#58;1px&#59';

var decoded = $("<div/>").html(encoded).text();

不使用正则表达式。

于 2013-03-29T16:25:25.803 回答
0

类似于以下内容:

var regex = /&#(\d{2});/g;
var match;
while(match = regex.exec(myString)) {
    match = match[1];
    myString = myString.substring(0, regex.lastIndex - 5) + convert[match] + myString.substring(regex.lastIndex);
}

可能有效,但必须有更好的解决方案(考虑到 convert 是一个进行转换的对象,例如 80: '<')。

说明:带有“全局”标志的 regex.exec 允许循环通过正则表达式,regex.lastPoint 的值是指向字符串其余部分的指针(尚未测试)。

编辑:
工作。

于 2013-03-29T15:55:23.763 回答