0

我正在使用python Textile将标记存储在数据库中。我想生成以下 HTML 片段:

(<em>asdf</em>)

显而易见的没有被编码:

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

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

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

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

4

1 回答 1

1

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

你应该能够做到这一点:

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

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

(]_asdf_])

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

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

(差异在最后一组;括号被错误地颠倒了。)

您还可以将行更改为:

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

(注意添加的括号)以获得您想要的行为(_foo_)但我不确定这是否会破坏其他任何东西。


跟进:最新版本的 PHP Textile 类确实对我建议的进行了类似的更改。

于 2009-07-15T06:31:42.727 回答