各ターミナルノードのテキストを確認します。Aタグはテキストを分割するため、テキストは/PART/と一致しません。Aタグの位置を移動することは可能ですか?
<P><FONT SIZE=3><B>PA<A NAME="name"></A>RT</B></FONT></P>
に
<P><FONT SIZE=3><B><A NAME="name"></A>PART</B></FONT></P>
ただし、Aタグが親ノードのテキストを壊さない場合は、そのままにしておきます。
タグが親ノードのテキストを壊しているかどうかを見分ける方法がわかりません。
これは私が試したコードであり、タグがテキストを壊すかどうかを条件とはしていません。
require 'nokogiri'
require 'awesome_print'
html = '<P><FONT SIZE=3><B>PA<A NAME="name"></A>RT II</B></FONT></P>
<P><FONT SIZE=3><B><A NAME="name"></A>PART II</B></FONT></P>'
doc = Nokogiri::HTML(html)
doc.search('a').each do |n|
text = n.parent.text
n.parent.replace n
n.parent.content = text
end
出力
<p><font size="3">PART II</font></p>
<p><font size="3">PART II</font></p>