एचटीएमएल टैग के बीच सभी ग्रंथों को पकड़ने का सबसे प्रभावी तरीका क्या होगा?नोकोगिरी में सभी टैग के बीच पाठ को पकड़ना?
<div>
<a> hi </a>
....
एचटीएमएल टैग से घिरे ग्रंथों का समूह।
एचटीएमएल टैग के बीच सभी ग्रंथों को पकड़ने का सबसे प्रभावी तरीका क्या होगा?नोकोगिरी में सभी टैग के बीच पाठ को पकड़ना?
<div>
<a> hi </a>
....
एचटीएमएल टैग से घिरे ग्रंथों का समूह।
doc = Nokogiri::HTML(your_html)
doc.xpath("//text()").to_s
धन्यवाद! ठीक काम करता है +1 – rusllonrails
एक सैक्स पार्सर का उपयोग करें। XPath विकल्प से बहुत तेज़।
require "nokogiri"
some_html = <<-HTML
<html>
<head>
<title>Title!</title>
</head>
<body>
This is the body!
</body>
</html>
HTML
class TextHandler < Nokogiri::XML::SAX::Document
def initialize
@chunks = []
end
attr_reader :chunks
def cdata_block(string)
characters(string)
end
def characters(string)
@chunks << string.strip if string.strip != ""
end
end
th = TextHandler.new
parser = Nokogiri::HTML::SAX::Parser.new(th)
parser.parse(some_html)
puts th.chunks.inspect
यह केवल शरीर टैग के बीच पाठ प्राप्त करने के लिए कैसे बदला जा सकता है? – Omnipresent
ध्वज सेट करें और बॉडी टैग बंद होने के बाद शरीर टैग शुरू होने और कैप्चरिंग बंद करने के बाद केवल वर्णों को कैप्चर करना प्रारंभ करें। –
यहाँ कैसे इस पेज के सवाल div में सभी पाठ का तरीका देखें:
require 'rubygems'
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open("http://stackoverflow.com/questions/1512850/grabbing-text-between-all-tags-in-nokogiri"))
puts doc.css("#question").to_s
बस कार्य करें: https://github.com/rgrove/
doc = Nokogiri::HTML(your_html)
doc.xpath("//text()").text
चेक आउट sanitize भी – Abram