【问题标题】:changing plaintext tags into HTML tags to display in browser in python将纯文本标签更改为 HTML 标签以在 python 中的浏览器中显示
【发布时间】:2013-05-11 22:54:23
【问题描述】:

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

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

我在正确的轨道上吗?或者还有什么我需要包括的吗?我对此很陌生

【问题讨论】:

  • 您确定要实现“另一种标记格式”吗?如果您使用已建立的格式(例如restructured text,您可以使用现有工具对其进行格式化。
  • 只要我不必导入新模块,我不介意采用哪种方式。如果我使用重组文本,我应该往哪个方向发展?
  • 您能否详细说明您要实现的目标?将其实现为学习体验、构建文档工具、博客平台?

标签: python markup


【解决方案1】:

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

import re

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

希望你能明白 您还可以使用诸如 '==(.+)==' 之类的模式来捕获您想要的内容。 您可以查看此帖子以了解有关使用 re.search 和 re.match 的更多信息 https://stackoverflow.com/a/180993/2152321

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

【讨论】:

    猜你喜欢
    • 2014-01-21
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    相关资源
    最近更新 更多