Я переформатировал ваш внутренний HTML, чтобы сделать его более читабельным в качестве образца.
Nokogiri ничего не вырезает, он только кодирует добавляемый контент, потому что вы говорите ему.
Если вы не сообщите Nokogiri, что новый текст уже является HTML, он будет предполагать, что вы добавляете текст, и, поскольку текст содержит символы, которые должны быть закодированы, он кодирует его для вас.
Вот как это сделатьВы действительно хотите:
<code>require "nokogiri"
html = '<div class="CodeRay">
<div class="code">
<pre>puts <span style="background-color:#fff0f0;color:#D20">
<span style="color:#710">"</span>
<span style="">Hello, world!</span>
<span style="color:#710">"</span>
</span>
'doc = Nokogiri :: HTML (' ') doc.at (' body '). inner_html =html помещает doc.to_html >>> >>>>
puts <span style="background-color:#fff0f0;color:#D20">
>> <span style="color:#710">"</span>
>> <span style="">Hello, world!</span>
>> <span style="color:#710">"</span>
>> </span>
>>
>> >>