HTMLフラグメントをチェックし、HTML要素のIDまたはクラスを他の値に置き換える必要があります。正規表現を使用することは私のニーズに合いません。テキスト内で検索対象のクラスが複数回出現する可能性があるため、これを保持する必要があります。
たとえば、私はこのHTMLを持っています:
<div id='sweet'>
Bla bla sweet bla bla...
</div>
'bitter'に置き換えるid='sweet'
と、受け取りたいものがあります。
<div id='bitter'>
Bla bla sweet bla bla...
</div>
Nokogiriでも問題なく実行できますが、無効なHTMLを取得して、マークアップをそのまま返す必要がある場合があります。問題は、Nokogiriがマークアップと壊れたノードを修正することです。
例:
</table>
<div id='sweet'>
Bla bla sweet bla bla...
</div>
私はこれだけを受け取ります:
<div id='bitter'>
Bla bla sweet bla bla...
</div>
例2:
</div>
<div id='sweet'>
Bla bla sweet bla bla...
</div>
<table>
<tr>
<td>
Some text
私はこれを取得します:
<div id='bitter'>
Bla bla sweet bla bla...
</div>
<table>
<tr>
<td>
Some text
</td>
</tr>
</table>
2番目の例からこれを取得するにはどうすればよいですか?:
</div>
<div id='bitter'>
Bla bla sweet bla bla...
</div>
<table>
<tr>
<td>
Some text