我想用jquery转换<p> ... <code>&lt;div id='asd'&gt;asd&lt;/div&gt;</code></p>
成。<p> ... <code><div id='asd'>asd</div></code></p>
换句话说,我想使用 jquery 来应用@Html.Raw(HttpUtility.HtmlDecode(html))
在 asp.net MVC 中的作用。
我尝试了类似问题的解决方案(link1,link2),但它们不足以解决我的问题。出现了两个问题;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 输出,我该如何解决?