Modificação de texto dentro de nós html - nokogiri
Digamos que eu tenho o seguinte HTML:
<ul><li>Bullet 1.</li>
<li>Bullet 2.</li>
<li>Bullet 3.</li>
<li>Bullet 4.</li>
<li>Bullet 5.</li></ul>
O que eu desejo fazer com isso é substituir quaisquer pontos, pontos de interrogação ou pontos de exclamação por ele mesmo e um asterisco à direita, que esteja dentro de um nó HTML, e depois converter novamente em HTML. Portanto, o resultado seria:
<ul><li>Bullet 1.*</li>
<li>Bullet 2.*</li>
<li>Bullet 3.*</li>
<li>Bullet 4.*</li>
<li>Bullet 5.*</li></ul>
Estou mexendo um pouco com isso no IRB, mas não consigo entender direito. aqui está o código que tenho:
html = "<ul><li>Bullet 1.</li>
<li>Bullet 2.</li>
<li>Bullet 3.</li>
<li>Bullet 4.</li>
<li>Bullet 5.</li></ul>"
doc = Nokogiri::HTML::DocumentFragment.parse(html)
doc.search("*").map { |n| n.inner_text.gsub(/(?<=[.!?])(?!\*)/, "#{$1}*") }
A matriz que volta é analisada corretamente, mas não tenho certeza de como convertê-la novamente em HTML. Existe outro método que eu possa usar para modificar o texto interno como ta