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: '<')。

説明: 'global' フラグを指定した regex.exec を使用すると、正規表現をループできます。regex.lastPoint の値は、残りの文字列へのポインターです (まだテストされていません)。

編集:
作業中。

于 2013-03-29T15:55:23.763 に答える