Убрать слешь в json
public function deleteUnicode($mixed) { функция распознавания кирилиццы
return preg_replace_callback(
"/\\\\u([a-f0-9]{4})/",
function($matches) {
return iconv('UCS-4LE','UTF-8',pack('V', hexdec('U' .
$matches[0])));
},
json_encode($mixed)
);
}
public function handle(Request $request, Closure $next)
{
$response = $next($request);
$logs = [
'IP' => $request->ip(),
'URI' => $request->getUri(),
'REQUEST_BODY' => $request->all(),
'PARTNER_ID' => $request->partner_id,
'RESPONSE' => $response->getContent(),
];
Log::create([
'ip' => $logs['IP'],
'url' => $logs['URI'],
'partner_id' => $logs['PARTNER_ID'],
'request' => json_encode($logs['REQUEST_BODY']),
'response' => $this->deleteUnicode($logs['RESPONSE'])
]);
return $response;
}
'response' => $logs['RESPONSE'] возвращает json, вот в таком виде:
"{"error":"\С\у\м\м\а \с\т\р\а\х\о\в\к\и \н\е \м\о\ж\е\т \п\р\е\в\ы\ш\а\т\ь 2 \м\и\л\л\и\о\н\а","code":422}"
как убрать слешь везде?
Ответы (1 шт):
Автор решения: Danil Apsadikov
→ Ссылка
json_decode($json)
документация https://www.php.net/manual/ru/function.json-decode.php