Ich habe ein großes multidimensionales Array, zu dem es mehrere String-Werte gibt, die Strings mit HTML-Tags und -Attributen enthalten.PHP | json_encode entfernt html-Tags
aber wenn ich json_encode
benutze der Ausgang ich habe einige der Tags entfernt werden.
Hier ist das Beispiel Ich habe versucht, auf eine separate Datei, um sicher zu sein, wenn dies tatsächlich das Problem mit JSON Encode ist und stellt sich heraus, dass ich Recht hatte.
<?php
$var = array(
"type" => "<p style=\"text-align: center;\">sfds</p>"
);
$encoded = json_encode($var);
echo '<pre>';
print_r($encoded);
Wie behandelt man diese Art von Situation?
Dies ist das Ergebnis, das ich von Beispiel bekommen habe.
{"type":"
sfds<\/p>"}
und das ist das Ergebnis, das ich von meinem mehrdimensionalen Array bekomme.
{"data":[{"type":"columns","data":{"columns":[{"width":6,"blocks":[]},{"width":6,"blocks":[]}],"preset":"columns-6-6"}},{"type":"columns","data":{"columns":[{"width":6,"blocks":[{"type":"heading","data":{"text":"
I am the Heading<\/p>","mce_0":"
I am the Heading<\/p>"}},{"type":"heading","data":{"text":"
sfds<\/p>","mce_1":"
sfds<\/p>"}}]},{"width":6,"blocks":[{"type":"text","data":{"text":"
\n
Im Text<\/div>\n<\/div>","mce_2":"
\n
Im Text<\/div>\n<\/div>"}}]}],"preset":"columns-6-6"}},{"type":"text","data":{"text":"
\n
Im just a text<\/div>\n<\/div>","mce_3":"
\n
Im just a text<\/div>\n<\/div>"}}]}
= - = - = - = - = - = -
Update: generierte HTML-Quellcode der var_dump von Array-Variablen, die ich zu kodieren versuchen.
<pre> after set2_decode:<br>array(1) {
["data"]=>
array(3) {
[0]=>
array(2) {
["type"]=>
string(7) "columns"
["data"]=>
array(2) {
["columns"]=>
array(2) {
[0]=>
array(2) {
["width"]=>
int(6)
["blocks"]=>
array(0) {
}
}
[1]=>
array(2) {
["width"]=>
int(6)
["blocks"]=>
array(0) {
}
}
}
["preset"]=>
string(11) "columns-6-6"
}
}
[1]=>
array(2) {
["type"]=>
string(7) "columns"
["data"]=>
array(2) {
["columns"]=>
array(2) {
[0]=>
array(2) {
["width"]=>
int(6)
["blocks"]=>
array(2) {
[0]=>
array(2) {
["type"]=>
string(7) "heading"
["data"]=>
array(2) {
["text"]=>
string(23) "<p>I am the Heading</p>"
["mce_0"]=>
string(23) "<p>I am the Heading</p>"
}
}
[1]=>
array(2) {
["type"]=>
string(7) "heading"
["data"]=>
array(2) {
["text"]=>
string(39) "<p style="text-align: center;">sfds</p>"
["mce_1"]=>
string(39) "<p style="text-align: center;">sfds</p>"
}
}
}
}
[1]=>
array(2) {
["width"]=>
int(6)
["blocks"]=>
array(1) {
[0]=>
array(2) {
["type"]=>
string(4) "text"
["data"]=>
array(2) {
["text"]=>
string(59) "<div>
<div style="text-align: center;">Im Text</div>
</div>"
["mce_2"]=>
string(59) "<div>
<div style="text-align: center;">Im Text</div>
</div>"
}
}
}
}
}
["preset"]=>
string(11) "columns-6-6"
}
}
[2]=>
array(2) {
["type"]=>
string(4) "text"
["data"]=>
array(2) {
["text"]=>
string(65) "<div>
<div style="text-align: right;">Im just a text</div>
</div>"
["mce_3"]=>
string(65) "<div>
<div style="text-align: right;">Im just a text</div>
</div>"
}
}
}
}
</pre>
Anstatt in einem Browser zu sehen - öffnen Sie generierten HTML. Oder führen Sie das Skript in einer Konsole aus. –
@u_mulder hat Ihren Punkt nicht bekommen. Was nutzt es, die Daten im Browser zu sehen, wenn das codierte Json-Dosent gut funktioniert? Ich brauche die JSON, aber diese JSON sollte die HTML-Tags auch mit Attributen enthalten. und ich habe am Browser versucht das Array funktioniert gut und HTML-Tags kann nicht direkt gesehen werden, wie es implementiert wird, wenn im Browser angezeigt wird. –
Bitte https://3v4l.org/XWI43 –