Exemple #1
0
    def GET(self):
        args = web.input()
        id = int(args.id)
        file = dao.get_by_id(id)
        if file.content != None:
            file.content = xutils.html_escape(file.content, quote=False)
            # \xad (Soft hyphen), 用来处理断句的
            file.content = file.content.replace('\xad', '\n')
            # file.content = file.content.replace(" ", " ")
            file.content = re.sub(r"https?://[^\s]+",
                                  '<a href="\\g<0>">\\g<0></a>', file.content)
            file.content = file.content.replace("\t",
                                                "&nbsp;&nbsp;&nbsp;&nbsp;")
            file.content = file.content.replace("\n", "<br/>")
            # 处理图片
            file.content = file.content.replace(
                "[img", "<p style=\"text-align:center;\"><img")
            file.content = file.content.replace("img]", "></p>")
            # 处理空格
            file.content = file.content.replace(" ", "&nbsp;")
            # 允许安全的HTML标签
            file.content = re.sub(r"\<(a|img|p)&nbsp;", "<\\g<1> ",
                                  file.content)

        # 统计访问次数,不考虑并发
        dao.visit_by_id(id)

        return xtemplate.render("file/view.html",
                                op="view",
                                file=file,
                                file_type="post")
Exemple #2
0
def build_search_html(content):
    fmt = u'<a href="/message?category=message&key=%s">%s</a>'
    return fmt % (xutils.encode_uri_component(content),
                  xutils.html_escape(content))