我正在为 python-markdown 编写一个扩展,它应该将我的一些自定义标签中的文本放入一个样式化的 div 中。
我创建了一个简单的内联模式类,它将匹配的表达式封装在 div 标记中。我的正则表达式如下:r'(\{mytag_start\})(.+)(\{mytag_end\})'
然后在编译时由 markdown.inlinepatterns.Pattern 类放入"^(.*?)
---(.*?)$"
中,以便将 compile 方法称为re.compile("^(.*?)%s(.*?)$" %r'(\{mytag_start\})(.+)(\{mytag_end\})')
.
乍一看,这似乎可以解决问题,但是我注意到所有换行符都需要硬编码为<br>
标签。
所以
{mytag_start}This code<br>
will work{mytag_end}
但是,以下代码破坏了整个降价
{mytag_start}This code
will not{mytag_end}
因此,我只是以纯文本形式未经处理的整个上述块。
我尝试向 the 提供 re.MULTILINE 和 re.DOTALL ,re.compile
但没有帮助。有任何想法吗?
编辑: 这是一个显示上述问题的示例扩展文件。然后我在我的 django 模板中使用{{ content:"mdx_MyExtension"}}
.