方法一、
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注入
js 正则匹配(去掉html标签)非常实用的。希望能够帮到你
利用正则表达式去除html标签,去除样式,只选择内容,
private String stripTags(final String HTMLString) { final String noHTMLString = HTMLString.replaceAll("\\*?>",""); return noHTMLString; }
通过本文档的加入,可以除去html标签防止于页面标签的冲突从而防止出错
搜索引擎中去除html标签的方法及装置.docx
C# 去掉 字符串中的 HTML 标签。 有些字符串中 包含一些 HTML 标签 不想要,就可以用 它去掉其中的标签了。
1.富文本去除html标签 去除html标签及 空格 let richText = ' sdaflsjf的丰富及饿哦塞尔</p><span>dsfjlie</span>'; /* 去除富文本中的html标签 */ /* *、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有...
java去掉html标签 必须首先去掉双引号的正则.docx
本文实例讲述了javascript实现去除HTML标签的方法。分享给大家供大家参考,具体如下: [removed] String.prototype.stripHTML = function() { var reTag = /<(?:.|\s)*?>/g; return this.replace(reTag,"...
分享一个方法,去掉内容里的Html标签,测试数据: DECLARE @str NVARCHAR(max)=' <!DOCTYPE html> <html> <head> </head> <body> 哈哈哈 </body> </html> ' 方法如下:...
用java写的能够去除html的标签,在网上爬东西能用到
易语言清除HTML标签源码,清除HTML标签
我们在一些开发中,很有必要过滤掉用户输入的文本中的HTML标签以防范XSS攻击,本文将详细介绍关于iOS去除html标签的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 请求接口返回的...
代码如下: /// <summary> /// 去除HTML标签 /// </summary> /// ”Htmlstring”></param> /// <returns></returns> public static string DeleteHTML(string Htmlstring) { //删除HTML Htmlstring = Regex.Replace...
主要介绍了php使用strip_tags()去除html标签仍有空白的解决方法,涉及php正则替换的相关操作技巧,需要的朋友可以参考下
1、从数据库拿出的转义后的HTML标签内容,先得去除转义,然后再去除HTML标签,是生成缩略文字。 /*移除HTML标签代码*/ function removeHTMLTag(str) { str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag ...