将明文标签更改为HTML标签,以便在python中的浏览器中显示

时间:2013-05-11 12:58:28

标签: python markup

好吧所以我在python中编写一个函数,它接受一个标记有===,==,---,#text#等标签的文本文档(很像维基百科)。现在我的程序基本上必须用HTML标签替换那些,例如& ndash,& mdash,<>文本等,以便它们可以在浏览器中正确显示。这是我到目前为止所得到的:

def tag_change ():
    for () in range ()
    sub('--', '–')
    sub('---', '—')
    sub('''*''', '<i>*</i>')
    sub("'''*'''", '<b>*</b>')
    sub("==*==", "<h1>*</h1>")
    sub("#*#", "<li>*</li>")

我是否在正确的轨道上?或者我还需要包含其他内容吗?我对这个很新了

1 个答案:

答案 0 :(得分:0)

您最好的选择(如果您想编写自己的功能并避免使用现有工具)是使用正则表达式,这很简单

import re

def subst(text):
   str = '#text#'
   capture = re.search('#(.+)#', str)
   return '<li>'+ capture.group(1)+ '</li>'

我希望你明白这个主意 你也可以使用&#39; ==(。+)==&#39;等模式。等等,以捕捉你想要的东西。 您可以查看此帖子以了解有关使用re.search和re.match的更多信息 https://stackoverflow.com/a/180993/2152321

您还可以在此处了解有关正则表达式模式构建的更多信息 http://www.tutorialspoint.com/python/python_reg_expressions.htm