Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 用另一个标记替换特定标记_Html_Ruby_Xpath_Css Selectors_Nokogiri - Fatal编程技术网

Html 用另一个标记替换特定标记

Html 用另一个标记替换特定标记,html,ruby,xpath,css-selectors,nokogiri,Html,Ruby,Xpath,Css Selectors,Nokogiri,所以我有了这个html(位于某个XML文件中) 在这里,我尝试在内容中查找带有的标记并替换它 page_data.push (page_references.to_s.gsub!(/<span style=" font-style: italic;">/,'<i>')) page_data.push(page_引用到_.gsub!(/,'') 这不会替换结束标记 有没有人对我如何实现我的期望的结果有什么建议?要求“nokogiri” require "nokogiri

所以我有了这个html(位于某个XML文件中)

在这里,我尝试在内容中查找带有的标记并替换它

page_data.push (page_references.to_s.gsub!(/<span style=" font-style: italic;">/,'<i>'))
page_data.push(page_引用到_.gsub!(/,'')
这不会替换结束标记

有没有人对我如何实现我的期望的结果有什么建议?

要求“nokogiri”
require "nokogiri"
doc = Nokogiri::HTML.fragment('<span style=" font-style: italic;">Nature, </span>')

doc.css('span[style=" font-style: italic;"]')
.each{|span| span.replace("<i>#{span.content}</i>")}

doc.to_s # => "<i>Nature, </i>"
doc=Nokogiri::HTML.fragment('Nature') doc.css('span[style=“font-style:italic;”“])) .each{span | span.replace(“{span.content}”)} “自然”博士
以下是我的做法:

require 'nokogiri'

doc = Nokogiri::HTML.parse <<-eot
<span style=" font-style: italic;">Nature, </span>
eot

node = doc.at_css('span[style=" font-style: italic;"]')
node.replace("<i> #{node.text} </i>")

puts doc
需要“nokogiri”

doc=Nokogiri::HTML.parse@devArled它是…谢谢sawa非常优雅
page_data.push (page_references.to_s.gsub!(/<span style=" font-style: italic;">/,'<i>'))
require "nokogiri"
doc = Nokogiri::HTML.fragment('<span style=" font-style: italic;">Nature, </span>')

doc.css('span[style=" font-style: italic;"]')
.each{|span| span.replace("<i>#{span.content}</i>")}

doc.to_s # => "<i>Nature, </i>"
require 'nokogiri'

doc = Nokogiri::HTML.parse <<-eot
<span style=" font-style: italic;">Nature, </span>
eot

node = doc.at_css('span[style=" font-style: italic;"]')
node.replace("<i> #{node.text} </i>")

puts doc
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org
   /TR/REC-html40/loose.dtd">
<html>
   <body><i> Nature,  </i></body>
</html>