コード ブロックを強調表示する Pygments ライブラリの PHP ラッパーを作成しました。コードブロックの検出に使用される正規表現は、構成ファイルで構成できます。(json形式)
json 値では次のようになります。
{
"codeblock_regex": "\\[pygments=(.*?)\\](.*?)\\[\\/pygments\\]"
}
JSON でデコードすると、次のようになります。
\[pygments=(.*?)\](.*?)\[\/pygments\]
エスケープができないので、これは悪いことです。私は人々にこれができるようにしてほしい:
\[pygments=lexer]some code here[/pygments]
そして、そのコードブロックを検出\
して無視するためのピグメント。で試しました
"(^\\\\)\\[pygments=(.*?)\\](.*?)\\[\\/pygments\\]"
後は次のようになりますjson_decode
。
(^\\)\[pygments=(.*?)\](.*?)\[\/pygments\]
ただし、これにより、通常のブロックであってもすべてが無視されるため、何か間違っていることがあるはずです。ご覧のとおり、私は正規表現の専門家にはほど遠いです。