jqueryで変換<p> ... <code>&lt;div id='asd'&gt;asd&lt;/div&gt;</code></p>
したい。<p> ... <code><div id='asd'>asd</div></code></p>
@Html.Raw(HttpUtility.HtmlDecode(html))
他の言い方をすれば、asp.net MVC のようにjquery を使用して適用したいと考えています。
同様の問題( link1 、 link2 )の解決策を試しましたが、問題を解決するには不十分です。2 つの問題が発生しました。replace は、このフィドルのようにすべての一致を置き換えるわけではありません(このリンクでこの問題を解決しました)。変換されたコードは、html とブラウザーで期待どおりに表示されません。html の階層が破壊されます。
詳細については:
デコードする文字列:
<p>fddfg dfgdfgdfg dfgdfgdfgd <em>asdasd</em> <strong>cvbncvbn</strong> <code>&lt;div id='asd'&gt;asd&lt;/div&gt;</code></p>
HTML デコード後の HTML 出力:
<p>
fddfg dfgdfgdfg dfgdfgdfgd
<em>asdasd</em>
<strong>cvbncvbn</strong>
<code></code>
</p>
<div id="asd">
<code>asd</code>
</div>
<p></p>
HTML デコード後のブラウザ出力:
fddfg dfgdfgdfg dfgdfgdfgd asdasd cvbncvbn
asd
フィドルで問題を確認できます(特にコンソールを見てください):
予想される、または望ましいブラウザー出力:
fddfg dfgdfgdfg dfgdfgdfgd asdasd cvbncvbn <div id='asd'>asd</div>
この壊れた html 出力が出てくるのはなぜですか?どうすれば解決できますか?