diff --git a/src/calibre/ebooks/fb2/fb2ml.py b/src/calibre/ebooks/fb2/fb2ml.py index d0b680009a..3987ffa1b8 100644 --- a/src/calibre/ebooks/fb2/fb2ml.py +++ b/src/calibre/ebooks/fb2/fb2ml.py @@ -153,8 +153,15 @@ class FB2MLizer(object): return ''.join(toc) def sectionize_chapters(self, text): - text = re.sub(r'(?imsu)(?P)\s*(?P(

)*\s*.+?\s*(

)*)', lambda mo: '
%s%s' % (mo.group('anchor'), mo.group('strong')), text) - text = re.sub(r'(?imsu)

\s*(?P)\s*

\s*(?P(

)*\s*.+?\s*(

)*)', lambda mo: '
%s%s' % (mo.group('anchor'), mo.group('strong')), text) + def remove_p(t): + t = t.replace('

', '') + t = t.replace('

', '') + return t + text = re.sub(r'(?imsu)(

)\s*(?P)\s*(

)\s*(

)\s*(?P.+?)\s*(

)', lambda mo: '
%s<p>%s</p>' % (mo.group('anchor'), remove_p(mo.group('strong'))), text) + text = re.sub(r'(?imsu)(

)\s*(?P)\s*(

)\s*(?P.+?)', lambda mo: '
%s<p>%s</p>' % (mo.group('anchor'), remove_p(mo.group('strong'))), text) + text = re.sub(r'(?imsu)(?P)\s*(

)\s*(?P.+?)\s*(

)', lambda mo: '
%s<p>%s</p>' % (mo.group('anchor'), remove_p(mo.group('strong'))), text) + text = re.sub(r'(?imsu)(

)\s*(?P)\s*(?P.+?)\s*(

)', lambda mo: '
%s<p>%s</p>' % (mo.group('anchor'), remove_p(mo.group('strong'))), text) + text = re.sub(r'(?imsu)(?P)\s*(?P.+?)', lambda mo: '
%s<p>%s</p>' % (mo.group('anchor'), remove_p(mo.group('strong'))), text) return text def get_text(self):