require 'nokogiri' html = '

foo banana 1

this text

bar

foo banana 2

foo banana 3

else

foo

foo

foo

' keywords = ["else", "banana", "nomatch"] doc = Nokogiri::HTML(html) total_matches = 0 keywords.each do |keyword| p "searching for:"+keyword elements = doc.search('p:contains("'+keyword+'")') if(elements) elements.each do |element| total_matches=total_matches+1 p element.text end else p "NO MEANS NO!" end p "============" end p "total matches for keywords:" + total_matches.to_s