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", " ") 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(" ", " ") # 允许安全的HTML标签 file.content = re.sub(r"\<(a|img|p) ", "<\\g<1> ", file.content) # 统计访问次数,不考虑并发 dao.visit_by_id(id) return xtemplate.render("file/view.html", op="view", file=file, file_type="post")
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))