1

XHTML アプリケーションの HTML エンティティをデコードするには?

たとえば$("<div/>").html("&middot;").text()、JavaScript エラーが発生します。

エラーは次のとおりです。

[Exception... "An invalid or illegal string was specified" code: "12" nsresult: "0x8053000c (SyntaxError)"

application/xhtml+xml編集: XHTML は、 Content-typeを持つ実際の XHTML アプリケーションを意味します。

4

2 に答える 2

1

document.createEntityReferenceJavaScript コードのレベル ( \uxxxx) では、ファイル エンコーディングに不適切な文字を使用またはエスケープできます。ただし、コメントで指摘されているように、document.createEntityReferenceFirefoxでは機能しません: https://developer.mozilla.org/fr/docs/DOM/document.createEntityReference

または、php.js のようなカスタム ライブラリを使用することもできますhtml_entity_decode: http://phpjs.org/functions/html_entity_decode/

于 2012-11-09T15:42:37.143 に答える
0

innerHTMLjQuery のhtml()メソッドの代わりに純粋な JavaScript プロパティを使用してみてください。

var elem = document.createElement('div');
elem.innerHTML = '&middot;';

var text = $(elem).text();

alert(text);

jQuery に XHTML に関する問題がある場合は、完全に回避することができます。の代わりにjQuery.text()textContentプロパティを使用できます (古いバージョンの IE の場合innerTextは を使用できます)。

一般に、サーバー側でエンティティをデコードすることは理にかなっています。たとえば、PHP には、この目的のための標準関数がありますhtml_entity_decode()

于 2012-11-09T15:33:24.030 に答える