PHP: Funktionen json_encode - Mit foreach() und Codierung html-Elemente für json
Ich versuche zu analysieren Artikel aus mysql und Kodieren die Daten in json mit php.
Derzeit die Veröffentlichung von Artikeln, die ich benutze:
<?php if ($success): ?>
<?php foreach($article->get_items() as $item): ?>
<?php echo $item->get_content(); ?>
<?php endforeach; ?>
<?php endif; ?>
ich versuche Kodieren diese in json -.
Ich habe dies ausprobiert:
<?php if ($success): ?>
<?php foreach($feed->get_items() as $item): ?>
<?php
$data = array(
'id' => "1",
'result' => array(
'title' => 'This is the title',
'publish' => 'John Doe',
'content' => $item->get_content()
)
);
echo json_encode($data);
?>
<?php endforeach; ?>
<?php endif; ?>
Auch, ich bin mir nicht sicher, wie ich mit foreach() damit könnte ich Parsen und Kodieren alle Inhalte.
UPDATE:
Den Inhalt analysiert aus $item->get_content() hat HTML-Elemente wie , etc. so sollte Sie kodiert werden in json-oder Saiten ?
UPDATE 2:
Das problem ist, dass ich gerade am Ende mit diesem:
[
{"id":"1","result":{"title":"This is the title","publish":"John Doe","content":"content 1"}},
{"id":"1","result":{"title":"This is the title","publish":"John Doe","content":"content 1"}},
{"id":"1","result":{"title":"This is the title","publish":"John Doe","content":"content 1"}},
{"id":"1","result":{"title":"This is the title","publish":"John Doe","content":"content 1"}},
{"id":"1","result":{"title":"This is the title","publish":"John Doe","content":"content 1"}}
]
weil ich bin nicht mit foreach() richtig und ich will am Ende mit diesem:
[
{"id":"1","result": {"title":"This is the title","publish":"John Doe","content":"content 1"},
{"title":"This is the title","publish":"John Doe","content":"content 1"},
{"title":"This is the title","publish":"John Doe","content":"content 1"},
{"title":"This is the title","publish":"John Doe","content":"content 1"},
{"title":"This is the title","publish":"John Doe","content":"content 1"}
]
und auch die Inhalt manchmal ist es enthält html-Elemente zerstört, die die json-Kodierung also ich könnte mir vorstellen ich habe zu codieren, es in json oder string?
- Nehmen Sie die
echo
imcontent
's Wert und Sie sollten in Ordnung sein. - Brechen nicht aus
<?php
es sei denn, Sie zu haben. Hier, Sie definitiv nicht wollen. - Sorry, es war einfach eine falsche paste. Aktualisiert.
- Sorry, es war einfach eine falsche paste. Aktualisiert.
- "parse Artikel" -- Was?
- Was ist eigentlich falsch mit Ihrem code? Ich verstehe nicht, Ihr problem. Wollen Sie nur eine JSON-kodierter string, der alle feed-Elemente?
- Bitte siehe update 2.
- Re. die HTML-problem: bei der Ausgabe so etwas wie
echo htmlspecialchars(json_encode($data));
(zwar nicht dieses, wenn Sie möchten, entschlüsseln Sie die Zeichenfolge wieder). - Wann würden Sie nicht wollen, zu entschlüsseln, wieder? Ich bin mir ziemlich sicher, dass dies eher eine Reaktion behandelt, die mittels JavaScript als vom menschlichen Auge. Auf der anderen Seite... wenn der "html-Elemente zerstören die Codierung" dies könnte in der Tat der Fall sein. Das Vokabular in dieser Frage ist verwirrend.
- Ich meinte, dass er sollten nicht die
htmlspecialchars
auf die variable, er werde Decodierung/Weitergabe anJavaScript
. Es sollte nur verwendet werden, wenn die Ausgabe der Zeichenfolge.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie ein array, das alle Daten enthält und dann codieren Sie es zu
json
<?php ... ?>
!Eigentlich bin ich nicht sicher, ob ich verstehe, was Sie brauchen, so ist es vielleicht nicht hilft.
echo
echo json_encode($data);
Sie codieren, das Letzte array einmal, es kann nicht getan werden in der foreach-Schleife.echo $item->get_content()
sollte$item->get_content()
hierAls Ausgabe eine Zeichenfolge, die enthält
HTML
code, die Sie verwenden möchtenhtmlspecialchars
:Beispiel: