コンテンツに & とか & とか " とか " とか ' とか ' とか 半角スペース' 'とか 半角スペースのコード を含む場合に、マストドンでの表示がどうなるかテスト。
<、>、&が半角の場合にエンコードしてから返したらどうなるかテスト。<br> もテスト。
改行コード <br> のテストを忘れてた。
& だけエンコードして返してみる。<>は全角の<>に置換する。
未分類コンテンツに & とか & とか " とか " とか ' とか ' とか 半角スペース' 'とか 半角スペースのコード を含む場合に、マストドンでの表示がどうなるかテスト。
<、>、&が半角の場合にエンコードしてから返したらどうなるかテスト。<br> もテスト。
改行コード <br> のテストを忘れてた。
& だけエンコードして返してみる。<>は全角の<>に置換する。
コメント
データベース内のJSONは次の通り。
Mastodonだと次の通り。デコードされてる。
--
コンテンツに & とか & とか " とか " とか ' とか ' とか 半角スペース' 'とか 半角スペースのコード を含む場合に、マストドンでの表示がどうなるかテスト。
--
タグに関しては、タグらしく半角で表示しようとするとタグとしてマストドンに認識されてしまうし、エスケープして&を使った文字にしておくと、&が付いたままマストドンに表示されてしまう。
&に関しては&に置換して戻しておいた方が良いが、タグに関しては全角にするのが妥当かもしれない。
最終結果のJSONより。
ap_outboxのpost_contentの"content":
プラグイン「ActivityPub」がwpautop関数を使ってる | いしい@試行錯誤
https://ishii00141.stars.ne.jp/20251205-1525-4429/
コード変更前、15:25「<br>ではなく<br />」(web)
→「<br>ではなく<br />」(post)
→「\u003Cbr /\u003E\u3067\u306f\u306a\u304f\u003Cbr /\u003E」(ap_outbox)
→「\nではなく\n」(マストドン)
このテスト「<br>」(web)の失敗例
「&lt;br&gt;」(post)
→19:11「\u0026amp;lt;br\u0026amp;gt;」(ap_outbox)→「<br>」(マストドン)
このテスト「<br>」(web)の失敗例
「<br>」(post)
→19:13「\u0026amp;lt;br\u0026amp;gt;」(ap_outbox)→「<br>」(マストドン)
→19:21「\u003Cbr /\u003E」(ap_outbox)→「\n」(マストドン)
→19:37「\uff1cbr\uff1e」(ap_outbox)→「<br>」(マストドン)
このコメントの「<br>(web)」(web)
→「\u0026amp;lt;br\u0026amp;gt;\u300d(web)」(ap_outbox)
→「<br>」(web)」(マストドン)
同じ「\u0026amp;lt;br\u0026amp;gt;」(ap_outbox)でも、マストドンでの表示は、
記事からの場合は「<br>」となり、
コメントからなら「<br>」となる。
コメントの場合、「<br>」と表示させるため、「<br>」と書く。これがそのままap_outboxのユニコードに変換されて「\u0026amp;lt;br\u0026amp;gt;」となり、マストドンでの表示に問題ない。htmlコードは「<br>」
記事の場合、「<br>」と表示させるため、「<br>」とそのまま書き、postテーブルは「<br>」や「<br>」と保管される。デフォルトだと、これがap_outboxのユニコードに変換される時に「\u003Cbr /\u003E」になって、マストドンでは「\n」(htmlコードでは「<br />」)