seas...@gmail.com於 2013年12月16日星期一UTC+8下午2時41分08秒寫道: > I need to replace all tag <b> with <span> after ■. But the result from below > is '■ <span style="REPLACE">D</span> / <font></font>' > > Can you explain what I did wrong, please. > > > > s = '■<b>A</b> <b>B</b> <b>C</b> <b>D</b> / <font></font>' > > soup = BeautifulSoup(s) > > for i in soup.find_all(text='■'): > > tag = soup.new_tag('span') > > tag['style'] = 'REPLACE' > > for ii in i.find_next_siblings(): > > if ii.name=='font' or str(ii).lstrip('')[0:1]=='/': > > break > > else: > > if ii.name=='b': > > tag.string=ii.string > > print(ii.replace_with(tag)) > > print(soup)
the point is the result seems wrong. I don't know if that is my problem. I simplify the code to emphasize the problem, there's no way an editor can do what I wanna do. -- https://mail.python.org/mailman/listinfo/python-list