Heim >
Backend-Entwicklung >
PHP-Tutorial >
Wie kann das Problem gelöst werden, dass der Inhalt verloren geht, wenn PHP grafische Nachrichten mit mehreren Bildern auf die öffentliche WeChat-Plattform hochlädt?
Wie kann das Problem gelöst werden, dass der Inhalt verloren geht, wenn PHP grafische Nachrichten mit mehreren Bildern auf die öffentliche WeChat-Plattform hochlädt?
1. Frage: Laden Sie einen Artikel in WordPress als permanentes Material auf WeChat hoch: Wenn der Artikel nur ein Bild enthält, kann es normal hochgeladen werden, und wenn Sie dieses Material auf der öffentlichen WeChat-Plattform anzeigen , Textinhalte und Bilder können vollständig angezeigt werden. Fügen Sie dem Artikel ein weiteres Bild hinzu (wenn das Artikelbild größer als 1 ist). Beim Betrachten dieses Materials im WeChat-Hintergrund wird festgestellt, dass der Artikel unvollständig ist: Der gesamte Inhalt ab dem ersten Bild geht verloren. Zusätzliche Hinweise: (1) Ich habe ein Plug-in geschrieben, um WordPress-Artikel in die WeChat-Materialbibliothek hochzuladen. Hauptprozess: Curl erfasst das Bild im Artikel und lädt es in die WeChat-Materialbibliothek hoch, ruft die URL ab und ersetzt dann die Bildquelle im WordPress-Artikel entsprechend. Erstellen Sie dann eine JSON-Zeichenfolge aus Bild und Textnachricht und laden Sie sie auf WeChat hoch. (2) Dem WordPress-Artikel werden keine Stile hinzugefügt, nur
3. Fehlermeldung: WeChat hat keine Fehlermeldung zurückgegeben. 4, Screenshot: Keine. 5, andere Referenzen: Ich habe gesehen, dass tilun_099 auf ähnliche Probleme im CSDN gestoßen ist: http://bbs.csdn.net/topics/39.... Das Problem mit tilun_099 ist: „Wenn beim Hochladen von Materialien mit mehreren Bildern und Texten der Inhalt einfacher Text ist, kann der Upload erfolgreich sein, die media_id kann abgerufen werden und dann über die Gruppensendeschnittstelle die Das Mobiltelefon kann die Mehrbild- und Textinformationen korrekt abrufen. Wenn der Inhalt jedoch HTML-Tags wie
,
usw. enthält, kann die media_id nach dem Hochladen abgerufen werden Nach dem Massenversand erhält das Mobiltelefon ein einzelnes Bild und einen einzelnen Text. Der Link enthält keinen spezifischen Inhalt. „ Die endgültige Lösung von tilun_099 sein Problem: „Obwohl niemand geantwortet hat, habe ich endlich das Problem gelöst, wenn der Inhalt HTML-Tags enthält. Wenn ja, müssen Sie den Inhalt maskieren. Wenn er Inhalte mit style=".." und "" enthält, müssen Sie bezahlen mehr Aufmerksamkeit darauf richten.
<code>foreach ($news as &$item){
foreach ($item as $k=>$v){
if($k =='content'){
$item[$k] = urlencode(htmlspecialchars(str_replace("\"","'",$v)));
}else{
$item[$k] = urlencode($v);
}
}
}</code>
Nach dem Login kopieren
Nach dem Login kopieren
Es ist notwendig, die „“-Anführungszeichen in HTML zunächst in einfache Anführungszeichen und dann in HTML-Entitäten umzuwandeln, damit die Tags bei der URL-Codierung nicht beeinträchtigt werden.
Vor dem Hochladen den Inhalt urldecodieren und die HTML-Entitäten in HTML-Tags konvertieren, dann ist alles in Ordnung.
Getestet! ”
Das Problem, auf das er und ich gestoßen sind, ist etwas ähnlich, aber nicht genau das gleiche. Ich habe JSON direkt erstellt.
Antwortinhalt:
1. Frage:
Laden Sie einen Artikel in WordPress als permanentes Material auf WeChat hoch: Wenn der Artikel nur ein Bild enthält, kann es normal hochgeladen werden, und wenn Sie dieses Material auf der öffentlichen WeChat-Plattform anzeigen , Textinhalte und Bilder können vollständig angezeigt werden. Fügen Sie dem Artikel ein weiteres Bild hinzu (wenn das Artikelbild größer als 1 ist). Beim Betrachten dieses Materials im WeChat-Hintergrund wird festgestellt, dass der Artikel unvollständig ist: Der gesamte Inhalt ab dem ersten Bild geht verloren. Zusätzliche Hinweise: (1) Ich habe ein Plug-in geschrieben, um WordPress-Artikel in die WeChat-Materialbibliothek hochzuladen. Hauptprozess: Curl erfasst das Bild im Artikel und lädt es in die WeChat-Materialbibliothek hoch, ruft die URL ab und ersetzt dann die Bildquelle im WordPress-Artikel entsprechend. Erstellen Sie dann eine JSON-Zeichenfolge aus Bild und Textnachricht und laden Sie sie auf WeChat hoch. (2) Dem WordPress-Artikel werden keine Stile hinzugefügt, nur
3. Fehlermeldung: WeChat hat keine Fehlermeldung zurückgegeben.
4, Screenshot: Keine. 5, andere Referenzen: Ich habe gesehen, dass tilun_099 auf ähnliche Probleme im CSDN gestoßen ist: http://bbs.csdn.net/topics/39.... Das Problem mit tilun_099 ist: „Wenn beim Hochladen von Materialien mit mehreren Bildern und Texten der Inhalt einfacher Text ist, kann der Upload erfolgreich sein, die media_id kann abgerufen werden und dann über die Gruppensendeschnittstelle die Das Mobiltelefon kann die Mehrbild- und Textinformationen korrekt abrufen. Wenn der Inhalt jedoch HTML-Tags wie
,
usw. enthält, kann die media_id nach dem Hochladen abgerufen werden Nach dem Massenversand erhält das Mobiltelefon ein einzelnes Bild und einen einzelnen Text. Der Link enthält keinen spezifischen Inhalt. „ Die endgültige Lösung von tilun_099 sein Problem: „Obwohl niemand geantwortet hat, habe ich endlich das Problem gelöst, wenn der Inhalt HTML-Tags enthält. Wenn ja, müssen Sie den Inhalt maskieren. Wenn er Inhalte mit style=".." und "" enthält, müssen Sie bezahlen mehr Aufmerksamkeit darauf richten.
Es ist notwendig, die Anführungszeichen „“ im HTML zuerst in einfache Anführungszeichen und dann in HTML-Entitäten umzuwandeln, damit die Tags bei der URL-Codierung nicht beeinträchtigt werden.
<code>foreach ($news as &$item){
foreach ($item as $k=>$v){
if($k =='content'){
$item[$k] = urlencode(htmlspecialchars(str_replace("\"","'",$v)));
}else{
$item[$k] = urlencode($v);
}
}
}</code>
Nach dem Login kopieren
Nach dem Login kopieren
Vor dem Hochladen den Inhalt urldecodieren und die HTML-Entitäten in HTML-Tags konvertieren, dann ist alles in Ordnung.
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn