コード例 #1
0
def _appendRegexMarkup(s, result):
    while s:
        m = extlinkre.search(s)
        if m:
            frag = s[:m.start()]
            splice = ExternalLink(m.group(1), m.group(1))
            s = m.group(3) + s[m.end():]
        else:
            frag = s
            splice = None
            s = ''

        frag = cgi.escape(frag)
        frag = boldre.sub(r'<b>\1</b>', frag)
        frag = italre.sub(r'<i>\1</i>', frag)
        frag = underre.sub(r'<u>\1</u>', frag)

        while 1:
            m = intlinkre.search(frag)
            if m:
                result.append(HtmlFragment(frag[:m.start()]))
                result.append(RenderUtils.InternalLink(m.group()))
                frag = frag[m.end():]
            else:
                result.append(HtmlFragment(frag))
                break

        if splice:
            result.append(splice)