使用ruby gsub替换html标签及其内容

时间:2018-10-17 11:38:41

标签: ruby

我尝试通过执行以下操作用空字符串替换html内容中的<p>..</p>标签内容。

string =  \n <img alt=\"testing artice breaking news\" src=\"something.com" />\n <p>\n \tnew vision content for testing rss feeds\n </p>\n " 

我做了

string.gsub!(/<p.*?>|<\/p>/, '')

它只是用空字符串替换了<p></p>,但内容仍然保留。如何删除标签及其内容?

1 个答案:

答案 0 :(得分:0)

显然,您的正则表达式与<p>...</p><p>及其内容)不匹配。试试这个:

string.gsub!(/<p>.*<\/p>/, '')

test = '\n <img alt=\"testing artice breaking news\" src=\"something.com" />\n <p>\n \tnew vision content for testing rss feeds\n </p>\n "'
test.gsub(/<p>.*<\/p>/, '')

返回

"\\n <img alt=\\\"testing artice breaking news\\\" src=\\\"something.com\" />\\n \\n \""

另外,请考虑@Tom Lord的评论,您可以使用Nokogiri来操纵HTML。