我有一个ROR应用程序,我想在Ruby中解析一点帮助。我有一个字段接受来自vimeo的嵌入代码。问题是标准代码除了<iframe>
元素外还包含<p>
和<iframe>
。我想知道是否有一种快速方法可以删除保留<p>
代码,同时删除<iframe src="http://player.vimeo.com/video/28638402?title=0&byline=0&portrait=0&color=ffffff" width="400" height="170" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe><p><a href="http://vimeo.com/28638402">Youth Lagoon - Montana</a> from <a href="http://vimeo.com/tylertwilliams">Tyler T Williams</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
元素后面的代码。
例如:以下是vidmeo <iframe src="http://player.vimeo.com/video/28638402?title=0&byline=0&portrait=0&color=ffffff" width="400" height="170" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
我想删除
元素后的代码,并留下以下内容:
{{1}}
ruby中是否有一个函数,不像正则表达式解析那么复杂,可以帮助我吗?或者正在解析我最好的选择?我将非常感谢您的反馈,以及您可以提供的任何帮助。非常感谢您的时间和帮助!
答案 0 :(得分:1)
我建议您使用Nokogiri之类的HTML解析器。像这样简单:
html = '<iframe ...>...</p>'
doc = Nokogiri::HTML(html)
iframe = doc.at_css('iframe').to_html
简单,可靠,而且足够快。