Ich habe keine Ahnung, was passiert, aber ich habe eine Zeichenfolge in einem Array. Es muss eine Zeichenkette sein, da ich diese zuerst ausgeführt habe:
%Vor%Wenn ich $ array [0] im Klartext an den Browser ausgib, zeigt dies:
%Vor%Aber wenn ich JSON encodiere $ Array bekomme ich das:
%Vor%Außerdem muss ich den "There" -Teil (das Bit nach dem \ u0000) trennen, aber das funktioniert nicht:
%Vor%Ich weiß nicht einmal was es ist oder wie man es in PHP steuert.
Ich habe diesen Link gesehen: Versuchen, dieses von meinem JSON zu finden und loszuwerden ... was darauf hindeutet, dass der JSON, der generiert wird, durch str_replatziert wird. Ich kann das nicht (und muss es wie oben erwähnt zuerst trennen), also habe ich dann Google nach 'php check for backslash \ 0 byte' gefragt, aber ich kann immer noch nicht herausfinden, was zu tun ist.
Die Zeichenfolge, die Sie haben, ist "hello
oder "hello\x00world"
world"echo
, was auch immer Sie bevorzugen. Wenn Sie
it, wird das Nullsymbol% co_de% nicht angezeigt, deshalb sehen Sie stattdessen helloworld
json_encode
, aber \u0000
erkennt es und entkommt es wie jedes andere Sonderzeichen, deshalb ersetzt durch eine sichtbare Zeichenfolge \u0000
.
In meiner Art zu sehen, json ist die Zeichenfolge perfekt codieren, die \u0000
ist da, um ihre Aufgabe zu tun, die eingegebene Zeichenfolge in einer Json-codierten Weise zu reproduzieren. Sie müssen den Ausgang nicht berühren. Wenn Sie %code% nicht möchten, sollten Sie stattdessen input korrigieren.
Sie können einfach trim($str)
ohne Angabe einer charlist