Python. Замена текста между тегами HTML - PullRequest
1 голос
/ 01 ноября 2010

Я хочу написать функцию, которая выделяет некоторый текст.Он принимает строку HTML в качестве ввода и возвращает строку HTML с дополнительными тегами 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 ???

Естьдругие идеи, чтобы сделать это?

1 Ответ

4 голосов
/ 01 ноября 2010

Посмотрите на Прекрасный суп .

...