ダブルクォーテーションとシングルクォーテーションとアンパサンドを含む場合のテスト

 コンテンツに & とか & とか " とか " とか ' とか ' とか 半角スペース' 'とか 半角スペースのコード   を含む場合に、マストドンでの表示がどうなるかテスト。

<、>、&が半角の場合にエンコードしてから返したらどうなるかテスト。<br> もテスト。

改行コード <br> のテストを忘れてた。

& だけエンコードして返してみる。<>は全角の<>に置換する。

未分類
管理人のマストドンアカウントへのリンクなど

コメント

  1. ishii ishii より:

    データベース内のJSONは次の通り。

    (注意:実際は https:// の後の半角スペースはない)
    "content":"\u003Cp\u003E\u003Cstrong\u003E\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u3068\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u3068\u30a2\u30f3\u30d1\u30b5\u30f3\u30c9\u3092\u542b\u3080\u5834\u5408\u306e\u30c6\u30b9\u30c8\u003C/strong\u003E\u003C/p\u003E\u003Cp\u003E\u3000\u30b3\u30f3\u30c6\u30f3\u30c4\u306b \u0026#038; \u3068\u304b \u0026amp; \u3068\u304b \u0022 \u3068\u304b \u0026quot; \u3068\u304b ' \u3068\u304b \u0026#039; \u3068\u304b \u534a\u89d2\u30b9\u30da\u30fc\u30b9' '\u3068\u304b \u534a\u89d2\u30b9\u30da\u30fc\u30b9\u306e\u30b3\u30fc\u30c9 \u0026nbsp; \u3092\u542b\u3080\u5834\u5408\u306b\u3001\u30de\u30b9\u30c8\u30c9\u30f3\u3067\u306e\u8868\u793a\u304c\u3069\u3046\u306a\u308b\u304b\u30c6\u30b9\u30c8\u3002\u003C/p\u003E\u003Cp\u003E\u003Ca href=\u0022https:// ishii00141.stars.ne.jp/20251205-1802-4445/\u0022\u003Ehttps:// ishii00141.stars.ne.jp/20251205-1802-4445/\u003C/a\u003E\u003C/p\u003E",

    Mastodonだと次の通り。デコードされてる。
    --
     コンテンツに & とか & とか " とか " とか ' とか ' とか 半角スペース' 'とか 半角スペースのコード を含む場合に、マストドンでの表示がどうなるかテスト。
    --

  2. ishii ishii より:

    タグに関しては、タグらしく半角で表示しようとするとタグとしてマストドンに認識されてしまうし、エスケープして&を使った文字にしておくと、&が付いたままマストドンに表示されてしまう。
    &に関しては&amp;に置換して戻しておいた方が良いが、タグに関しては全角にするのが妥当かもしれない。

  3. ishii ishii より:

    最終結果のJSONより。

    (注意:実際は https:// の後の半角スペースはない)
    "content":"\u003Cp\u003E\u003Cstrong\u003E\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u3068\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u3068\u30a2\u30f3\u30d1\u30b5\u30f3\u30c9\u3092\u542b\u3080\u5834\u5408\u306e\u30c6\u30b9\u30c8\u003C/strong\u003E\u003C/p\u003E\u003Cp\u003E\u3000\u30b3\u30f3\u30c6\u30f3\u30c4\u306b \u0026amp; \u3068\u304b \u0026amp;amp; \u3068\u304b \u0022 \u3068\u304b \u0026amp;quot; \u3068\u304b ' \u3068\u304b \u0026amp;#039; \u3068\u304b \u534a\u89d2\u30b9\u30da\u30fc\u30b9' '\u3068\u304b \u534a\u89d2\u30b9\u30da\u30fc\u30b9\u306e\u30b3\u30fc\u30c9 \u0026amp;nbsp; \u3092\u542b\u3080\u5834\u5408\u306b\u3001\u30de\u30b9\u30c8\u30c9\u30f3\u3067\u306e\u8868\u793a\u304c\u3069\u3046\u306a\u308b\u304b\u30c6\u30b9\u30c8\u3002\u003C/p\u003E\u003Cp\u003E\uff1c\u3001\uff1e\u3001\uff06\u304c\u534a\u89d2\u306e\u5834\u5408\u306b\u30a8\u30f3\u30b3\u30fc\u30c9\u3057\u3066\u304b\u3089\u8fd4\u3057\u305f\u3089\u3069\u3046\u306a\u308b\u304b\u30c6\u30b9\u30c8\u3002\u0026amp;lt;br\u0026amp;gt; \u3082\u30c6\u30b9\u30c8\u3002\u003C/p\u003E\u003Cp\u003E\u6539\u884c\u30b3\u30fc\u30c9 \uff1cbr\uff1e \u306e\u30c6\u30b9\u30c8\u3092\u5fd8\u308c\u3066\u305f\u3002\u003C/p\u003E\u003Cp\u003E\u0026amp; \u3060\u3051\u30a8\u30f3\u30b3\u30fc\u30c9\u3057\u3066\u8fd4\u3057\u3066\u307f\u308b\u3002\uff1c\uff1e\u306f\u5168\u89d2\u306e\uff1c\uff1e\u306b\u7f6e\u63db\u3059\u308b\u3002\u003C/p\u003E\u003Cp\u003E\u003Ca href=\u0022https:// ishii00141.stars.ne.jp/20251205-1802-4445/\u0022\u003Ehttps:// ishii00141.stars.ne.jp/20251205-1802-4445/\u003C/a\u003E\u003C/p\u003E",
  4. ishii ishii より:

    ap_outboxのpost_contentの"content":

    プラグイン「ActivityPub」がwpautop関数を使ってる | いしい@試行錯誤
    https://ishii00141.stars.ne.jp/20251205-1525-4429/
    コード変更前、15:25「<br>ではなく<br />」(web)
    →「&lt;br>ではなく&lt;br />」(post)
    →「\u003Cbr /\u003E\u3067\u306f\u306a\u304f\u003Cbr /\u003E」(ap_outbox)
    →「\nではなく\n」(マストドン)

    このテスト「&lt;br&gt;」(web)の失敗例
    「&amp;lt;br&amp;gt;」(post)
    →19:11「\u0026amp;lt;br\u0026amp;gt;」(ap_outbox)→「&lt;br&gt;」(マストドン)

    このテスト「<br>」(web)の失敗例
    「&lt;br>」(post)
    →19:13「\u0026amp;lt;br\u0026amp;gt;」(ap_outbox)→「&lt;br&gt;」(マストドン)
    →19:21「\u003Cbr /\u003E」(ap_outbox)→「\n」(マストドン)
    →19:37「\uff1cbr\uff1e」(ap_outbox)→「<br>」(マストドン)

    • ishii ishii より:

      このコメントの「<br>(web)」(web)
      →「\u0026amp;lt;br\u0026amp;gt;\u300d(web)」(ap_outbox)
      →「<br>」(web)」(マストドン)

      同じ「\u0026amp;lt;br\u0026amp;gt;」(ap_outbox)でも、マストドンでの表示は、
      記事からの場合は「&lt;br&gt;」となり、
      コメントからなら「<br>」となる。

      • ishii ishii より:

        コメントの場合、「<br>」と表示させるため、「&lt;br&gt;」と書く。これがそのままap_outboxのユニコードに変換されて「\u0026amp;lt;br\u0026amp;gt;」となり、マストドンでの表示に問題ない。htmlコードは「&lt;br&gt;」
        記事の場合、「<br>」と表示させるため、「<br>」とそのまま書き、postテーブルは「&lt;br>」や「&lt;br&gt;」と保管される。デフォルトだと、これがap_outboxのユニコードに変換される時に「\u003Cbr /\u003E」になって、マストドンでは「\n」(htmlコードでは「<br />」)

タイトルとURLをコピーしました