【问题标题】:Rails: Removing HTML codes from string?Rails:从字符串中删除 HTML 代码?
【发布时间】:2015-12-20 16:59:34
【问题描述】:

我得到这样的东西:<h1> in inspect 元素,我希望能够删除所有这样的标签。我正在尝试有一个干净的元标记描述,但是因为我使用的是富文本编辑器中的描述,所以会显示那些 & 符号。

我不知道这些叫什么?

它们不是<h1>Title</h1> 标签,我尝试过strip_tags(@notes),但没有用。

【问题讨论】:

    标签: html ruby-on-rails ruby-on-rails-4 tags meta-tags


    【解决方案1】:

    这些被称为 htmlentities。你有正确的想法,剥离标签,但这个功能只有在它们被解码时才有效。可能是您在最初输入它们的表单中使用了 html_safe。

    安装 HTMLentities gem (https://github.com/threedaymonk/htmlentities)。然后解码您的标签,然后剥离标签。可以封装方法,比如strip_tags(coder.decode(@notes))

    但请确保您按照 gem 的自述文件中的描述正确安装了 HTMLentities。

    【讨论】:

      【解决方案2】:

      你可以用这个:

      function decodeHtml(html) {
          var txt = document.createElement("textarea");
          txt.innerHTML = html;
          return txt.value;
      }
      
      // Example
      alert(decodeHtml('Hello &lt;strong&gt;world&lt;/strong&gt;!Hello <strong>world</strong>!'))

      【讨论】:

      • 这适用于更复杂的短语吗?喜欢Hello &lt;strong&gt;world&lt;/strong&gt;!
      • 是的 - 我添加了一个示例
      • 如果我想去掉某些标签,这很好,但就我而言,我想全部去掉
      • 糟糕,对不起。我读错了。我认为这段代码只剥离了我在问题中提供的 html 实体,但我现在看到了!谢谢!
      • 所以这只是对 HTMLentities 进行解码,然后您可以将 strip_tags 应用于此?
      猜你喜欢
      • 1970-01-01
      • 2012-03-28
      • 2023-01-10
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2022-07-01
      • 2013-03-31
      相关资源
      最近更新 更多