如何在轨道中删除带有类的特定标签?



我正在使用Ruby on Rails应用程序,如何删除具有某些属性的特定html标签,如下所示:-

post = Post.find(1646).content
=> "<p>this is just another update</p><p data-f-id="pbf" style="text-align: center; font-size: 14px; margin-top: 30px; opacity: 0.65; font-family: sans-serif;">Powered by <a href="any href link" title="xyz">remove it</a></p>"

我必须从上面的内容中完全删除以下段落:-

<p data-f-id="pbf" style="text-align: center; font-size: 14px; margin-top: 30px; opacity: 0.65; font-family: sans-serif;">Powered by <a href="any href link" title="xyz">remove it</a></p>

我如何使用正则表达式或其他东西来识别此<p data-f-id="pbf"。任何帮助将不胜感激。:)

不要使用正则表达式来解析 HTML。请改用 HTML 解析器。

ruby 中有几个流行的 HTML 解析库。这里有一种方法,使用Nokogiri:

post = Post.find(1646).content
document = Nokogiri::HTML::DocumentFragment.parse post
document.css('p[data-f-id=pbf]').remove
document.to_s
#=> "<p>this is just another update</p>"

最新更新