是否可以在python Textile中编码(<em> asdf </em>)?

时间:2009-07-15 01:31:25

标签: python markup textile

我正在使用python Textile在数据库中存储标记。我想提供以下HTML代码段:

(<em>asdf</em>)

显而易见的是没有编码:

(_asdf_)   ->   <p>(_asdf_)</p>

以下作品,但会产生一个丑陋的空间:

( _asdf_)   ->   <p>( <em>asdf</em>)

我是否遗漏了一些显而易见的东西,或者这是不可能使用python Textile?

1 个答案:

答案 0 :(得分:1)

很难说这是不是一个错误;在Textile website的表单中,(_foo_)可以按照您的意愿工作,但在可下载的PHP实现中,它不会。

你应该可以这样做:

([_asdf_])  ->  <p>(<em>asdf</em>)</p>

但是,这不起作用, 是py-textile中的一个错误。你需要使用它:

(]_asdf_])

或通过将第918行(在Textile.span()方法中)更改为:

来修补textile.py
            (?:^|(?<=[\s>%(pnct)s])|([{[]))

(区别在于最后一组;括号错误地反转。)

您还可以将该行更改为:

            (?:^|(?<=[\s>(%(pnct)s])|([{[]))

(请注意添加的括号)以获得您对(_foo_)所需的行为,但我不确定这是否会破坏其他任何内容。


跟进:latest version of the PHP Textile class确实对我建议的改变做了类似的修改。