I have this string that was working with json_decode() with PHP 5.6 but doesn't work with PHP 7.2?
$json = '
{
  "text": "Hi {{fname}} 
   Welcome to our customer support. 
   Please select language to proceed",
  "buttons": [
    {
      "text": "English",
      "value": "language_english",
      "type": "postback"
    },
    {
      "text": "Germany",
      "value": "language_germany",
      "type": "postback"
    }
  ]
}';
I have tried replacing the whitespaces and newline like this
$json = preg_replace("/\n/m", '\n', $json);
$what   = "\\x00-\\x19"; // all whitespace characters except space itself
$json = trim(preg_replace( "/[".$what."]+/" , '' , $json));
Which results into a string like this
\n{\n  "text": "Hi {{fname}} \n   Welcome to our customer support. \n   Please select language to proceed",\n  "buttons": [\n    {\n      "text": "English",\n      "value": "language_english",\n      "type": "postback"\n    },\n    {\n      "text": "Germany",\n      "value": "language_germany",\n      "type": "postback"\n    }\n  ]\n}
Notice the \n in between and outside double quotes which makes it an invalid json and hence json_decode won't work in this case.
Does anyone know a way to achieve this?
Thank you.