我有一个应该在HTML页面上替换的单词列表,但前提是单词不在标签列表中(如ABI)
所以,如果有文字:
<p> some text and XXX term <a href="http://some-XXX-bla.com">good morning XXX world</a> other text and XXX term <b>another XXX inside other sentance</b> </p>
Run Code Online (Sandbox Code Playgroud)
和XXX应该替换为YYY,而最终文本应该是:
<p> some text and YYY term <a href="http://some-XXX-bla.com">good morning XXX world</a> other text and YYY term <b>another XXX inside other sentance</b> </p>
Run Code Online (Sandbox Code Playgroud)
只有当XXX不在限制标签列表(A,I,B)内时,YYY才会替换XXX
应该在C#正则表达式中以某种方式完成
非常感谢帮助:)
这已经多次说了,但我也可以在这里重复一遍......你真的不想使用正则表达式进行HTML解析.它根本不适合HTML的复杂性(用正则表达式解析比用它看起来要困难得多).
.NET的最佳选择是HTML Agility Pack,它是一个非常强大的库,可以正确解析任何形式的HTML"汤".操作起来也容易得多,因为它暴露了DOM结构.这将使您能够简单地遍历DOM并轻松检查父/祖先节点,以便可以通过更改InnerText适当元素的属性来执行替换.完成所有操作后,只需从修改后的DOM对象中输出原始HTML即可.