html - 用空格替换 html 标签

标签 html ruby-on-rails ruby regex

我正在使用方法 strip_tags 从我的字符串中删除所有标签,但是在删除一些缺少空格的文本之后,尤其是在 1 个标签结束和另一个标签开始的地方。有什么办法可以将空格插入标签被删除的地方吗?寻找前任。下面

str
 => "<span>Class GOesHere</span><div>SomeExtra Tag</div>" 

helper.strip_tags(str)
 => "Class GOesHereSomeExtra Tag" 

最佳答案

我建议解析 HTML 并提取文本。 Nokogiri ,一个非常知名的 gem 应该可以帮助轻松解决这个问题:

require 'nokogiri'
=> false
> str = "<span>Class GOesHere</span><div>SomeExtra Tag</div>"
=> "<span>Class GOesHere</span><div>SomeExtra Tag</div>"
> Nokogiri::HTML(str).text
=> "Class GOesHereSomeExtra Tag"

更新:

这将搜索 html 中的所有文本节点并映射文本内容。结果数组与空格分隔符连接:

> Nokogiri::HTML(str).xpath('//text()').map(&:text).join(' ')
=> "Class GOesHere SomeExtra Tag"

关于html - 用空格替换 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28449761/

相关文章:

ruby-on-rails - Rails 出了点问题……(菜鸟)

ruby-on-rails - 太多连接会重置异常错误 - Mechanize in Ruby

html - Web 开发新手 - 网站在手机上显得很小

ruby-on-rails - ActiveRecord 查询用户所在时区的日期

javascript - 如何使用 bootstrap 3 记住并保持事件的导航选项卡? (如果重要的话,Asp Mvc 5)

ruby-on-rails - 两个 docker 容器如何相互通信?

javascript - 我如何引入 Jquery 项来更新 Sinatra 中的 index.erb?

ruby - 我的选择排序算法有什么问题?

javascript - Phonegap 下载 html 文件并替换它(来源)

javascript - iframe visual studio html5 windows 8 应用程序