【问题标题】:Why are my "<br />" tags getting converted to "&lt;br /&gt;"?为什么我的“<br />”标签被转换为“<br />”?
【发布时间】:2011-11-13 07:12:50
【问题描述】:

我将 HTML 数据存储在我希望按原样显示的数据库中。它不断将
标签转换为&amp;lt;br /&amp;gt;,这是我不想要的行为。我尝试过使用 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>

但是,当它在浏览器上呈现时,它有
,因此没有换行符。

【问题讨论】:

标签: javascript html json


【解决方案1】:

你的问题是

$("#venueaddress").text(venueaddress2);

你应该使用

$("#venueaddress").html(venueaddress2);

文本将对任何 html 字符进行编码,并将其显示为已编码的 span,html 不会。

【讨论】:

  • 谢谢,我完全错过了。
【解决方案2】:

&amp;lt;br /&amp;gt; == &lt;br /&gt; 你只需 need to Decode 输出即可取回原始 HTML。

Use javascript unescape function

【讨论】:

    【解决方案3】:

    大概是因为当您将其插入 DOM 时,您将其作为文本而不是 HTML 插入。

    由于您没有显示用于执行此操作的代码,因此很难确定,或者说更改它以使其期望 HTML 的最佳方法是什么。

    【讨论】:

      【解决方案4】:

      您还可以将字符替换为实际的&lt;br/&gt; 标签。

      myString.replace(/&lt;br&gt;/g, '<br/>')
      

      【讨论】:

        【解决方案5】:

        您的 html 数据正在“转义”。这可以防止人们通过浏览器将&lt;script&gt; 标签发送给毫无戒心的人。

        修复:首先您需要确定您的问题是“错误”还是“功能”。

        转义 html 通常是一件好事。特别是如果唯一的问题是演示文稿之一。

        例如,一种解决方法可能是插入换行符而不是 br 元素。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-04-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-15
          • 2010-09-13
          • 2014-10-12
          • 1970-01-01
          相关资源
          最近更新 更多