我将HTML数据存储在数据库中,我希望按原样显示。它不断将
标签转换为<br />
,这是我不想要的行为。我尝试过使用javascript替换,但仍然无法将其转换为常规HTML。
var venueaddress = msg.result[0].venueaddress;
var venueaddress2 = venueaddress.replace("[newline]", "<br />");
alert(venueaddress2); //shows <br />
$("#venueaddress").text(venueaddress2); //lets now display it on the browser
<li><h3>Venue Address</h3><p><strong> <span id="venueaddress"></span> </strong></p></li>
然而,当它在浏览器上呈现时,它具有&lt; br /&gt;因此没有换行符。
答案 0 :(得分:7)
你的问题在于
$("#venueaddress").text(venueaddress2);
你应该使用
$("#venueaddress").html(venueaddress2);
文本将对任何html字符进行编码,并将以span编码显示,html不会。
答案 1 :(得分:3)
<br />
== <br />
您只需need to Decode输出即可获取原始HTML。
答案 2 :(得分:2)
大概是因为当你将它插入DOM时,你将它作为文本而不是HTML插入。
由于您没有显示您用来执行此操作的代码,因此很难确定,或者说要更改它的最佳方法是什么,因此它会期望HTML。
答案 3 :(得分:1)
您还可以使用实际的<br/>
标签替换字符。
myString.replace(/<br>/g, '<br/>')
答案 4 :(得分:0)
您的html数据正在“转义”。这可以防止人们在浏览器中向不知情的人发送<script>
标记。
修复:首先,您需要确定您的问题是“错误”还是“功能”。
逃避HTML通常是一件好事。特别是如果唯一的问题是演示文稿之一。
例如,解决方法可能是插入换行符而不是br元素。