我需要检查一个 HTML 片段并将 HTML 元素的 ID 或类替换为其他值。使用正则表达式不符合我的需要,因为在文本中可能会出现多次搜索到的类,我应该保留它。
例如,我有这个 HTML:
<div id='sweet'>
Bla bla sweet bla bla...
</div>
当我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>
我怎样才能从第二个例子中得到这个?:
</div>
<div id='bitter'>
Bla bla sweet bla bla...
</div>
<table>
<tr>
<td>
Some text