Po pierwsze, jeśli spróbuję to zrobić :
$str = "this / string";
var_dump(json_encode($str));
Otrzymuję :
string '"this \/ string"' (length=16)
Z odwrotnymi ukośnikami.
Patrząc na json.org
, wygląda na to, że standard JSON określa, że ukośniki wewnątrz ciągów powinny być zmieniane.
A więc json_encode()
wydaje się, że postępuje właściwie.
Jeśli nie chcesz, aby te ukośniki były zmieniane, nie chcesz poprawnego JSON i nie powinno działać z json_encode
.
Po drugie, teraz nie powinieneś używać tego :
$posts[] = array(..., $posts2 );
Zamiast tego powinieneś użyć :
$posts[] = array(..., 'attach' => $posts2 );
W ten sposób ostatni element tablicy będzie miał nazwę 'attach'.