BBcodeの[quote]タグは、最初のコンマの後に帰属を切り捨てる

BBcodeの[quote]タグで引用元を示す際に、引用元にコンマが含まれている場合、例えば[quote=“foo, bar”]のように、コンマ以降が切り捨てられてしまうという問題があります。具体的には以下のようになります。

これは、正直なところ、かなり珍しいユースケースであり、古いWordPressのコメントをDiscourseに移行している際に、「Foo <foo@bar.quux>, on 2020-10-24 11:31, wrote」 のような生成された引用元が多数あったために遭遇した問題です。

簡単な回避策は、コンマを削除することです。しかし、もし他の誰かが同じ問題に遭遇した場合のために、ここに投稿しておく価値があると考えました。

「いいね!」 1

これは、ディスコースでの引用タグの仕組みです。コンマの後には、投稿、トピック、ユーザー名が期待されます。それ以外のものを入力すると、期待どおりに機能しません。

[quote="Alistair Young, post:1, topic:336217, username:avatar"]

正しい投稿を特定できる場合もありますが、できない場合もあります。参照している投稿のIDがあれば、検索して情報を取得できます。

「いいね!」 2

Discourse 固有のフォーマットについては知っていましたが、Discourse 以外の場所からの引用として、そのフォーマットで正しく解析されないものはすべてタグテキストとして表示されるようにデフォルト設定されるのではないかと、なぜか思っていました。

その考えは間違っていたようで、その場合、動作は説明がつきます。ただし、Discourse 以外の場所からの引用のために、引用タグの同等物があれば非常に便利でしょう。

プラグインで、その情報を投稿に焼き付けることができます。クライアントから依頼された場合、プラグインなしで機能するように、引用情報を生のテキスト(上記の行など)に移動させるでしょう。