Python: конвертировать цитаты в контент HTML, а не теги HTML

У меня есть кусок HTML, как это:

<pre class="script">template("main/GlobalShared");</pre>
<pre class="script">
var link = '/Draft/Tracker_1.1';
if (wiki.pageexists(link)) {
    &lt;div class="version"&gt; web.link(wiki.uri(link), 'Version 1.1') &lt;/div&gt;
}
</pre>

Мне нужно преобразовать это так:

<pre class="script">template(&quot;main/GlobalShared&quot;);</pre>
<pre class="script">
var link = '/Draft/Tracker_1.1';
if (wiki.pageexists(link)) {
    &lt;div class=&quot;version&quot;&gt; web.link(wiki.uri(link), 'Version 1.1') &lt;/div&gt; 
}
</pre>

Я возился с регулярными выражениями, но, похоже, даже близко не подхожу. Я думаю, что мой выбор совершенно неверен.

Кто-нибудь может указать мне правильное направление, если это вообще возможно?

1 ответ

Решение

Вместо этого используйте HTML-анализатор, а затем просто замените кавычки на .replace('"', '&quot;'),

BeautifulSoup облегчает эту задачу:

from bs4 import BeautifulSoup

soup = BeautifulSoup(htmlsource)

for string in soup.strings:
     string.replace_with(string.replace('"', '&quot;'))

htmlsource = str(soup)
Другие вопросы по тегам