0

我们需要将 TinyMCE 中生成的过时字体标签迁移到 CMS 中的新跨度标签。

<font face="timesnewroman,times" size="7"><child>something</child></font>

<span style="font-family: timesnewroman,times; font-size: 12pt;"><child>something</child></span>

我如何使用最好使用 BeautifulSoup 来做到这一点?(目前我使用的是 3.2.1 版本)您能否告诉我 Python 中是否有任何方法可以用提到的样式属性集替换字体 -> 跨度标签?我确实知道一些像 replaceWithChildren 这样的方法,但这不会满足我的需要。有什么想法吗 ?

4

1 回答 1

1
import BeautifulSoup as bp

soup = bp.BeautifulSoup('<font face="timesnewroman,times" size="7"><child>something</child></font>')


for t in soup.findAll('font'):

    t['style'] = 'font-family: %s; font-size: %s' % (t['face'], t['size'])

    del t['face']
    del t['size']
    t.name = 'span'

    print t

输出:

<span style="font-family: timesnewroman,times; font-size: 7"><child>something</child></span>

这是基本思想。显然你应该检查属性是否存在,否则会引发异常。

于 2013-09-26T15:12:28.320 回答