【问题标题】:How To Replace &lt; with < and &gt; with > using jquery如何使用 jquery 将 < 替换为 < 和 > 替换为 >
【发布时间】:2011-10-10 16:54:24
【问题描述】:

我有一个属于后端 CRM 管理面板的页面。在该页面上,HTML 输出来自一些我无法访问的 PHP 函数。并且该 HTML 会自动将 &amp;lt;&amp;gt; 更改为 HTML 编码字符。

所以有一个 div 包含像 &lt;br /&gt; 这样的 html 标签被转换成 &amp;lt;b /&amp;gt;

所以我需要只使用 jQuery 将它改回 HTML 字符:

&amp;lt;&amp;lt;
&amp;gt;&amp;gt;

是否有一个 jQuery 脚本可以用来将这些特殊字符替换为相应的符号?这意味着我的 HTML 标记将真正起作用,并且 HTML 将在屏幕上正确显示?

我已经尝试过removewith(),但我无法成功。

添加: 我试图修改的 div 是这个

<div style="font-size: 11px; width: 90%; font-family: Tahoma;" id="cotiz">&lt;strong&gt;Valuación&lt;/strong&gt; de InfoAuto: 35.500,00&lt;br /&gt; 
Cotización Seleccionada: Ninguna&lt;br /&gt; 
Allianz, Responsabilidad Civil: $205,25&lt;br /&gt; 
Allianz, Terceros Completos: $278,85 </div>

【问题讨论】:

标签: jquery html-encode


【解决方案1】:

我需要一步一步找到一个 H1 然后解析下一个元素,因为我无法像你那样使用特定的 ID。好建议!

$('#sscContent').find("h1").next().each(function(){
    var $this = $(this);
    var t = $this.text();
    $this.html(t.replace('&lt;','<').replace('&gt;', '>'));
});

【讨论】:

    【解决方案2】:

    以上所有内容都对我不起作用,因为我需要的是将所有 &amp;lt; 替换为 &gt; 替换为 > ,而不仅仅是第一个。 我所做的是:

    .split('&lt;').join('<').split('&gt;').join('>');
    

    只是在这里开箱即用。 它对我有用,我希望它也对你有用。

    【讨论】:

      【解决方案3】:

      试试这个:-

      var wrapper=$(".contentwrap").html();
        wrapper=wrapper.replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');
       $(".contentwrap").html(wrapper);
      

      【讨论】:

        【解决方案4】:

        使用 $this.html('...'); 反而 $this.text('...');

        【讨论】:

          【解决方案5】:

          你可以用php简单地做到这一点

          <?php
          $a =
           '<div style="font-size: 11px; width: 90%; font-family: Tahoma;" id="cotiz">&lt;strong&gt;Valuación&lt;/strong&gt; de InfoAuto: 35.500,00&lt;br /&gt; 
          Cotización Seleccionada: Ninguna&lt;br /&gt; 
          Allianz, Responsabilidad Civil: $205,25&lt;br /&gt; 
          Allianz, Terceros Completos: $278,85 </div>';
          
          $b = html_entity_decode($a);
          
          
          echo $b;
          ?>
          

          【讨论】:

          • 该问题专门说使用jquery!请先把问题通读一遍!
          【解决方案6】:

          请试试这个

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

          全局替换这些字符。我试过了,效果很好:)

          【讨论】:

            【解决方案7】:

            如果使用underscore.js存在_.unescape(string)

            【讨论】:

              【解决方案8】:

              我有与常规不同的解决方案,它将应用于 html 的解码/编码

              解码

              var encodedString = "&lt;Hello&gt;";
              var decodedText = $("<p/>").html(encodedString).text(); 
              /* this decodedText will give you "<hello>" this string */
              

              编码

              var normalString = "<Hello>";
              var enocodedText = $("<p/>").text(normalString).html();
              /* this encodedText will give you "&lt;Hello&gt;" this string
              

              【讨论】:

              • 你有一个普通的 javascript 替代品吗?
              【解决方案9】:

              最简单的做法是

              $('#test').each(function(){
                  var $this = $(this);
                  var t = $this.text();
                  $this.html(t.replace('&lt','<').replace('&gt', '>'));
              });
              

              working edit/jsfiddle by Jared Farrish

              【讨论】:

              • 不完全。 jsfiddle.net/XS5kY 注意,出于演示目的,我已经修复了上述问题。
              • 我看到它在那个 jsfiddle 演示上工作,但它在我的设置上不起作用......顺便说一句,div 引用是正确的。可能是什么问题?
              • @sebas:我不知道。在您的问题中向我们展示您的整个#test 元素
              • 刚刚发布了您的 jquery 由于某种原因无法在我的设置中修改的 div。
              • 抱歉再次编辑了问题,请检查 div,因为它与我在 html 代码中看到的完全一样,其中包含我需要转换为 的特殊字符
              【解决方案10】:
              $('#myDivId').text(function (i, text)
              {
                  return text.replace('&lt;', '<').replace('&gt;', '>');
              });
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2020-12-30
                • 2015-01-14
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-03-18
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多