我正在研究redmine插件(限制我改变某些方法),我有一些像下面这样的单词
["h1.", "Wiki", "\r\n", "qweqwe", "\r\n", "additional", "\r\n", "<br>", "\r\n", "<br>", "\r\n", "{{toc}}", "\r\n", "<br>", "\r\n", "<br>", "\r\n", "Hello", "World<br>", "\r\n", "<br>", "\r\n", "<br>"]
我想要做的是剥离所有html标记,包括此数组中的新行符号,以保留单词。有没有办法可以做到这一点?
答案 0 :(得分:2)
只需加入ActionView::Helpers::SanitizeHelper
并执行以下操作:
x.map{ |item| strip_tags(item.squish) }.reject(&:empty?)
squish
删除空行sanitize
删除标记 li>
rejec(&:empty?)
删除空字符串答案 1 :(得分:1)
AFAIK,没有内置的方法来实现这一点,但它很容易实现:
s = [...]
s.map { |e|
r = e.gsub(/\r|\n|<.*?>/, '').strip
r.empty? ? nil : r
}.compact
#⇒ => [
# [0] "h1.",
# [1] "Wiki",
# [2] "qweqwe",
# [3] "additional",
# [4] "{{toc}}",
# [5] "Hello",
# [6] "World"
#]
或者reject
:
s.map { |e|
e.gsub(/\r|\n|<.*?>/, '').strip
}.reject(&:empty?)
当然,您可以自由地改进regexp的模式以删除您想要删除的内容。