PHP が複数の写真を含むグラフィック メッセージを WeChat パブリック プラットフォームにアップロードするときにコンテンツが失われる問題を解決するにはどうすればよいでしょうか?

WBOY
リリース: 2016-08-08 09:06:38
オリジナル
1732 人が閲覧しました

1. 質問:
WordPress の記事を永続的な素材として WeChat にアップロードします:
記事内に写真が 1 枚しかない場合は、通常どおりにアップロードできます。また、この素材を WeChat パブリック プラットフォームで表示する場合、テキスト コンテンツと写真の両方がアップロードされます。全文表示可能です。
記事に別の写真を追加します (記事の写真が 1 より大きい場合)。この資料を WeChat の背景で表示すると、記事が不完全であることがわかります。最初の写真から始まるすべてのコンテンツが失われます。
補足説明:
(1) WeChat素材ライブラリにwordpress記事をアップロードするプラグインを書きました。
主なプロセス:curl は記事内の写真を取得して WeChat マテリアル ライブラリにアップロードし、URL を取得して、それに応じて Wordpress 記事内の写真の src を置き換えます。
次に、画像とテキストメッセージの json 文字列を構築し、WeChat にアップロードします。
(2) Wordpress 記事にはスタイルは追加されません。

タグ
2、コード:

のみが追加されます。 リーリー

3. エラー メッセージ: WeChat はエラー メッセージを返しませんでした。
4、スクリーンショット: なし。
5、その他の参考資料:
tilun_099 が CSDN: http://bbs.csdn.net/topics/39.... で同様の問題に遭遇したのを見ました。
tilun_099 さんの質問は次のとおりです。「複数の画像とテキストの素材をアップロードする場合、コンテンツの内容がプレーン テキストの場合、アップロードは成功し、media_id が取得でき、グループ送信インターフェイスを介して携帯電話で正しくアップロードできます。ただし、コンテンツ内に

などの HTML タグが含まれている場合は、アップロード後、一括送信後に media_id を取得できます。携帯電話は 1 つの画像とテキストを取得します。この 1 つの画像とテキストには写真、タイトル、リンクが含まれています。つまり、コンテンツは空です。「
tilun_099 さんの問題に対する最終的な解決策は次のとおりです。」コンテンツに HTML タグが含まれている場合は、コンテンツをエスケープする必要があります。style=".." のようなコンテンツが含まれている場合は、さらに注意する必要があります。 リーリー

urlencoding が実行されたときにタグが影響を受けないように、HTML 内の "" 引用符を最初に一重引用符に変換してから、HTML エンティティに変換する必要があります。

リーリー

アップロードする前に、コンテンツをURLデコードし、HTMLエンティティをHTMLタグに変換すればOKです。

テスト済み! ”

彼と私が遭遇した問題は多少似ていますが、私が直接 json を構築したものとまったく同じではありません。

返信内容:

1. 質問:

WordPress の記事を永続的な素材として WeChat にアップロードします:
記事内に写真が 1 枚しかない場合は、通常どおりアップロードできます。また、この素材を WeChat パブリック プラットフォームで表示する場合、テキスト コンテンツと写真の両方がアップロードされます。全文表示可能です。
記事に別の写真を追加します (記事の写真が 1 より大きい場合)。この資料を WeChat の背景で表示すると、記事が不完全であることがわかります。最初の写真から始まるすべてのコンテンツが失われます。
追加手順:
(1) WordPress 記事を WeChat マテリアル ライブラリにアップロードするためのプラグインを作成しました。
主なプロセス:curl は記事内の写真を取得して WeChat マテリアル ライブラリにアップロードし、URL を取得して、それに応じて Wordpress 記事内の写真の src を置き換えます。
次に、画像とテキストメッセージの json 文字列を構築し、WeChat にアップロードします。
(2) Wordpress 記事にはスタイルは追加されません。

タグ
2、コード:
のみが追加されます。 リーリー

3. エラー メッセージ: WeChat はエラー メッセージを返しませんでした。

4、スクリーンショット: なし。
5、その他の参考資料:
tilun_099 が CSDN: http://bbs.csdn.net/topics/39.... で同様の問題に遭遇したのを見ました。
tilun_099 さんの質問は次のとおりです。「複数の画像とテキストの素材をアップロードする場合、コンテンツの内容がプレーン テキストの場合、アップロードは成功し、media_id が取得でき、グループ送信インターフェイスを介して携帯電話で正しくアップロードできます。ただし、コンテンツ内に

などの HTML タグが含まれている場合は、アップロード後、一括送信後に media_id を取得できます。携帯電話は 1 つの画像とテキストを取得します。この 1 つの画像とテキストには画像、タイトル、リンクが含まれています。つまり、コンテンツは空です。「
tilun_099 の問題に対する最終的な解決策は次のとおりです。」ようやく解決しました。コンテンツに HTML タグが含まれている場合は、コンテンツをエスケープする必要があります。style=.. のような場合は、さらに注意する必要があります。 リーリー
urlencoding が実行されたときにタグが影響を受けないように、HTML 内の "" 引用符を最初に一重引用符に変換してから、HTML エンティティに変換する必要があります。

リーリー

アップロードする前に、コンテンツをURLデコードし、HTMLエンティティをHTMLタグに変換すればOKです。

テスト済み! ”


彼と私が遭遇した問題は多少似ていますが、私が直接 json を構築したものとまったく同じではありません。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート