`
lzqustc
  • 浏览: 210338 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

去除html标签

    博客分类:
  • ruby
阅读更多

方法一、


 def plain_text(text,replacement=" ")
    text.gsub(/<[^>]*>/){|html| replacement}
 end


str ="<p><strong><em><span style=\"text-decoration: underline;\"><span style=\"font-size: large; color: #ff0000;\">
     我们没有惊天的抱负,我们没有动地的梦想,我们只想创造属于我们自己的辉煌<br />Mooko团队的成立是偶然也是必然</span></span></em></strong></p>"


puts str
puts plain_text(str,replacement=" ")

 

输出结果:

 

<p><strong><em><span style="text-decoration: underline;"><span style="font-size:
 large; color: #ff0000;">
      我们没有惊天的抱负,我们没有动地的梦想,我们只想创造属于我们自己的辉煌<br />Mooko团队的成立是偶然也是必然</span></span></em></strong></p>

 

     我们没有惊天的抱负,我们没有动地的梦想,我们只想创造属于我们自己的辉煌Mooko团队的成立是偶然也是必然

 

 

方法2、

使用Ryan Grove开发的Sanitize是一个新的Ruby HTML代码净化类库:

Ryan在他的博客帖子中提到:Sanitize默认移除所有的HTML标记,但是你可以通过设置参数,允许保留某些特定的标记、属性、协议等等。你可以从他的帖子中找到更详细的介绍。Sanitize甚至能自动闭合那些尚未闭合的标签——一个超级COOL的特性!

 

先安装: gem install sanitize

 

使用方法:

 

require 'sanitize'

html
= '<b><a href="http://foo.com/">foo无敌</a></b><img src="http://foo.com/bar.jpg" />'

Sanitize.clean(html)        # => 'foo无敌'

 

Sanitize.clean(html, Sanitize::Config::RESTRICTED)
# => '<b>foo无敌</b>'

Sanitize.clean(html, Sanitize::Config::BASIC)
# => '<b><a href="http://foo.com/" rel="nofollow">foo无敌</a></b>'

Sanitize.clean(html, Sanitize::Config::RELAXED)
# => '<b><a href="http://foo.com/">foo无敌</a></b><img src="http://foo.com/bar.jpg" />'

 

强大吧!

 

参考资料:

http://www.leesoft.com.cn/2008/07/10/ror%e4%b8%ad%e7%9a%84%e4%b8%ad%e6%96%87%e6%88%aa%e5%8f%96%e5%92%8c%e5%8e%bb%e6%8e%89html%e6%a0%87%e7%ad%be/

 

http://wonko.com/post/sanitize

 

http://www.ruby-yee.com/2009/01/15/how-to-sanitize-html-and-css-in-ruby

分享到:
评论

相关推荐

    SQl去掉HTML标签函数

    SQl去掉HTML标签函数 彻底防止SQL注入

    js 正则匹配(去掉html标签)

    ### js正则匹配(去掉HTML标签) 在网页开发与数据处理过程中,经常需要对含有HTML标签的文本进行清洗,以提取纯文本内容。利用JavaScript的正则表达式功能可以高效地实现这一目标。本文将详细介绍如何使用正则...

    去掉所有的html标签

    为了更好地处理这些数据,例如进行文本分析或者将其显示在不支持HTML渲染的环境中,就需要去除其中的HTML标签。 ### Java实现方法详解 #### 方法定义 在给定的代码片段中,`stripTags`方法接受一个名为`...

    winform 去除html标签的正则表达式

    在IT领域,特别是Web开发与文本处理中,去除HTML标签是一项常见的需求。这不仅有助于文本内容的纯化,还能提高数据处理的效率。通过使用正则表达式来去除HTML标签是一种非常有效的方法。下面我们将详细探讨如何利用...

    php去除html标签

    在开发网站时,我们经常会遇到需要获取一段含有HTML标签的文本(如从富文本编辑器中获取的数据),然后需要将这段文本中的HTML标签去掉,只保留纯文本内容。这主要是因为: - **防止XSS攻击**:保留HTML标签可能会...

    搜索引擎中去除html标签的方法及装置.docx

    《搜索引擎中去除html标签的方法及装置》的发明主要聚焦于如何在搜索引擎处理网页内容时有效地去除HTML标签,提高搜索引擎的索引质量和用户的搜索体验。HTML(HyperText Markup Language)是用于创建网页的标准标记...

    去掉内容里的html标签

    在IT行业中,处理文本数据时,经常会遇到要去除HTML标签的情况。...这个文件名可能是该博客提供的一个示例代码文件,用于演示如何去掉HTML标签的具体实现。在实际操作中,可以结合这个文件进一步理解和学习相关知识。

    javascript实现去除HTML标签的方法

    去除HTML标签是前端开发中常见的一种需求,比如在展示用户输入内容时,为了防止潜在的XSS攻击或者是为了美观简洁,可能需要去掉HTML标签只保留纯文本。本文将详细介绍如何使用JavaScript去除HTML标签,并涉及到相关...

    java去掉html标签 必须首先去掉双引号的正则.docx

    ### Java去除HTML标签并优先处理双引号的正则表达式方法 在处理网页内容时,经常需要将HTML标签从文本中移除,以便于进行后续的数据分析或文本处理工作。在Java中,可以通过正则表达式的方式实现这一功能。然而,在...

    去除C#HTML标签

    C# 去掉 字符串中的 HTML 标签。 有些字符串中 包含一些 HTML 标签 不想要,就可以用 它去掉其中的标签了。

    C# 过滤HTML标签的几种方法

    在提供的代码片段中,首先通过`Regex.Replace()`函数去除所有的脚本标签(`&lt;script&gt;...&lt;/script&gt;`),然后继续去除所有其他的HTML标签(`&lt;...&gt;`形式)。这一过程是通过以下步骤实现的: 1. **删除脚本标签**: ```...

    如何去除富文本中的html标签及vue、react、微信小程序中的过滤器

    1.富文本去除html标签 去除html标签及 空格 let richText = '  sdaflsjf的丰富及饿哦塞尔&lt;/p&gt;&lt;span&gt;dsfjlie&lt;/span&gt;'; /* 去除富文本中的html标签 */ /* *、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有...

    php使用strip_tags()去除html标签仍有空白的解决方法

    在PHP开发中,经常会需要对从数据库或其他来源获取的文本内容进行处理,比如去除其中的HTML标签,以保证文本的安全性和正确性。php函数strip_tags()正是用于去除字符串中的HTML和PHP标签。然而,在使用strip_tags()...

    使用正则表达式去除所有html标签只保留文字

    为了实现这一目的,可以使用正则表达式技术来匹配并去除HTML标签,仅保留文本内容。 正则表达式是一种强大的文本匹配模式,它允许用户定义一个搜索模式,用来在文本中搜索符合该模式的字符串。使用正则表达式去除...

    Sql Server 如何去掉内容里面的Html标签

    本文将详细介绍如何使用T-SQL(SQL Server的Transact-SQL扩展)来去除字符串中的HTML标签。 首先,我们来看一下提供的代码片段。这个示例创建了一个名为`dbo.removehtml`的用户定义函数,用于从输入的字符串中删除...

    易语言清除HTML标签

    在处理HTML数据时,有时我们需要清除HTML标签,以获取纯文本内容。这篇介绍将深入讲解如何使用易语言来实现这个功能。 首先,我们需要理解HTML标签的结构。HTML(HyperText Markup Language)是一种标记语言,用于...

    asp.net 去除HTML的标签的一个方法

    ### ASP.NET去除HTML标签的方法详解 在Web开发中,经常需要处理用户提交的数据,并将其安全地展示在网页上。为了防止XSS攻击等安全问题,一个常见的做法是去除或转义HTML标签。本文将详细介绍ASP.NET中去除HTML标签...

    删除html标签.

    3. **安全问题**:虽然以上方法可以有效去除HTML标签,但对于用户输入的数据仍然需要进行严格的过滤和验证,以防止其他类型的安全威胁。 #### 五、扩展知识 除了以上介绍的方法外,还可以考虑使用一些现成的库来...

Global site tag (gtag.js) - Google Analytics