0

マークアップをデータベースに保存するためにPythonテキスタイルを使用しています。次のHTMLスニペットを生成したいと思います。

(<em>asdf</em>)

明らかなものはエンコードされません:

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

以下は機能しますが、醜いスペースになります。

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

私は明らかな何かを見逃していますか、それともPythonテキスタイルを使用してこれは不可能ですか?

4

1 に答える 1

1

これがバグかどうかはわかりません。テキスタイル Web サイトのフォームでは、希望どおりに(_foo_)機能しますが、ダウンロード可能な PHP 実装では機能しません。

これを行うことができるはずです:

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

ただし、これは動作しません。これpy-textile のバグです。これを使用する必要があります:

(]_asdf_])

Textile.span()または、行 918 (メソッド内) を次のように変更して、textile.py にパッチを適用します。

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

(違いは最後のグループにあります。括弧が間違って逆になっています。)

行を次のように変更することもできます。

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

(かっこが追加されていることに注意してください)あなたが望む動作を得るために(_foo_)しかしそれが他の何かを壊すかどうかはわかりません.


フォローアップ:最新バージョンの PHP Textile クラスは、私が提案したものと同様の変更を実際に行っています。

于 2009-07-15T06:31:42.727 に答える