ばかげた bbcode パーサーの場合、2 つの定義を 1 つに追加したかったのですが、元の定義は preg_replace に対して次のとおりでした。
'#\[s\](.*?)\[/s\]#si', '<strike>\\1</strike>'
[s]
そして、これは機能します。ユーザーがその形式でテキストを使用または開始できるようにしたかった[strike]
ので、当然、機能すると考えて次のようなものを追加しました。
'#\[(s|strike)\](.*?)\[/(s|strike)\]#si', '<strike>\\1</strike>'
残念ながら、それはあなたが期待するものではなく、[s]
and [strike]
(適切に使用された) make:とs
(私のマークダウンは、その実際の見た目の結果を示すために正しいです。その中に何があるかに関係なく、 s またはストライクが表示されます)strike
代わりに内部テキストをタグ名に置き換えるのはなぜですか? s|strike の周りに括弧を追加することは問題ですか? 私はおそらくこれをすべて間違ってやっています..