我正在编写一个程序,该程序将HTML格式设置为供编辑的注释。例如,如果我有:
<i> This is Italics <b> but this is bold and italics</b> and back to italics <i>我想把它格式化为
*This is Italics* ***but this is bold and italics*** *and back to italics*因此,它将产生:这是斜体,但这是粗体并返回斜体。
我很难找到标签中的所有标签,并用正确数量的星号替换它们,而不影响格式。我试过几件事,但最近的一件事是:
italics = soup.find_all('i')
for i in range(len(italics)):
bold = italics[i].find_all('b')
for j in bold:
bold[i].replace_with('***' + bold[i].text + '***')但是当我尝试编辑嵌套标记时会出现错误,我不想用*编辑每个粗体标记,只编辑斜体中的标记,这样它就能保持格式,其余的我可以更改为**。
发布于 2017-06-23 19:45:28
也许像这样的事情更容易理解。
italics = soup.find_all('i')
for i in italics:
print(i.b)
if i.b:
i.b.replace_with('***' +i.b.text +'***')
print(soup)所有的代码,很蠢,但它很有效
italics = soup.find_all('i')
for i in italics:
print(i.b)
if i.b:
i.b.replace_with('* ***'+ i.b.text +'*** *')
i.replace_with('*'+i.text+ '*')
print(soup)https://stackoverflow.com/questions/44728205
复制相似问题