我有这样的文字:
<a href="http://www.i-am-hacker.com/blah">click here!</a>blah-blah-some-text-here-blah<a href="http://www.some-good-website.com/blah">click here!</a>
如果<a></a>
不有<a href=
,那么删除所有some-good-website
代码(结束其中的所有内容)的正确方法是什么?
答案 0 :(得分:3)
使用Nokogiri的可能解决方案:
require 'nokogiri'
TEST = '<a href="http://www.i-am-hacker.com/blah">click here!</a>blah-blah-some-text-here-blah<a href="http://www.some-good-website.com/blah">click here!</a>'
page = Nokogiri::HTML(TEST)
links = page.css("a") # parse all <a></a> elements from content
links.each do |link|
if link['href'] =~ /http:\/\/www\.i-am-hacker\.com\/blah/
link.remove
end
end
puts page # output content for debugging
<强>输出强>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>blah-blah-some-text-here-blah<a href="http://www.some-good-website.com/blah">click here!</a>
</body></html>
有用的资源: http://ruby.bastardsbook.com/chapters/html-parsing/
这个网站帮助我了解了如何使用nokogiri
如果您需要安装nokogiri,可以使用以下命令执行此操作:
gem install nokogiri