我想编写一个突出显示某些文本的函数。 它需要一个HTML字符串作为输入并返回带有附加html标签的HTML字符串。Python。替换html标签之间的文本
例如: 输入字符串(需要强调的词 “文本”):
<div>
<a href="..." title="text to highlight">Some text to highlight</a>
<a href="..." title="text to highlight">Some other text to highlight</a>
</div>
输出字符串:
<div>
<a href="..." title="text to highlight">Some <b class="highlight">text</b> to highlight</a>
<a href="..." title="text to highlight">Some other <b class="highlight">text</b> to highlight</a>
</div>
我发现,只有html标签之间的匹配文本的正则表达式,但我不知道如何用附加标签包围它的一部分
highlight_str = u'text'
p = re.compile(r"[^<>]+(?=[<])")
iterator = p.finditer(search_str)
for match in iterator:
# code for replacement here ???
有没有其他想法可以做到这一点?
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – user470379 2010-11-01 13:52:16
严重的是,在HTML上使用正则表达式的程序员的游行是无止境的。 – hughdbrown 2010-11-01 14:31:02
该正则表达式不适用于任何其他操作,而不适用于操纵演示。 – tchrist 2010-11-01 14:31:59