Sempervivum
Erfahrenes Mitglied
Die Dekodierung des JSON kommt aber vor der Erstellung des PDF, wenn ich das jetzt richtig verstanden habe?0A muß aber noch was anderes sein als \n, da bei der Erstellung des PDF die schon umgewandelt werden.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Die Dekodierung des JSON kommt aber vor der Erstellung des PDF, wenn ich das jetzt richtig verstanden habe?0A muß aber noch was anderes sein als \n, da bei der Erstellung des PDF die schon umgewandelt werden.
Ja, es werden die Daten aus DB ausgelesen, dann die \n in Komma umgewandelt und dann aus den JSON ein Array gemacht, dessen Einzelteile dann an den entsprechenden Stellen im PDF eingefügt werden. Durch die Steuerzeichen schlägt die Umwandlung aber fehl und die Stellen im PDF bleiben leer.Die Dekodierung des JSON kommt aber vor der Erstellung des PDF, wenn ich das jetzt richtig verstanden habe?
Das ist es doch was ich gemeint habe: Das JSON IST valide. Die Zeilenumbrüche gelten halt im JSON selbst.Die Zeilenumbrüche schon vor dem Eintragen in die Datenbank escapen, damit gar nicht erst invalides JSON hinein gelangt.
Das hier ist ein Screenshot vom Editor. Die 0A befinden sich an Position 137 und 164.Die Anzeige deines Hex-Editors bei einem solchen String, wo das Ersetzen des 0A nicht funktioniert, posten.
<pre>
<?php
function hex_dump($data, $newline="\n")
{
static $from = '';
static $to = '';
static $width = 16; # number of bytes per line
static $pad = '.'; # padding for non-visible characters
if ($from==='')
{
for ($i=0; $i<=0xFF; $i++)
{
$from .= chr($i);
$to .= ($i >= 0x20 && $i <= 0x7E) ? chr($i) : $pad;
}
}
$hex = str_split(bin2hex($data), $width*2);
$chars = str_split(strtr($data, $from, $to), $width);
$offset = 0;
foreach ($hex as $i => $line)
{
echo sprintf('%6X',$offset).' : '.implode(' ', str_split($line,2)) . ' [' . $chars[$i] . ']' . $newline;
$offset += $width;
}
}
$json = '{"getAddress":"VIA PRADELLONA 10/A
60060 SANTA MARIA NUOVA AN
","getNameMatch":""}';
print_r($json);
hex_dump($json);
$json2=str_replace("\r",'',$json);
print_r($json2);
hex_dump($json2);
$json3=str_replace("\n", ', ',$json2);
print_r($json3);
hex_dump($json3);
$result=json_decode($json3);
print_r($result);
?>
</pre>