CURL で文字列 "{success: false, errors: { reason: 'text text text' }}" を受け取りました。この文字列を配列またはオブジェクトに変換する方法を教えてください。
文字列 '{"success": "false"....}' は json_decode によってオブジェクトに変換される可能性がありますが、qoutes のない文字列があります。
最初にこの正規表現を使用します (引用符が追加されます)
$json = preg_replace ('/(?<!")(?<!\w)(\w+)(?!")(?!\w)/u', '"$1"', $string);
その後、単純に json_decode() を使用できます
$array = json_decode ($json);
このスクリプトはどこかで見つけました:
function json_fix_quotes ($string){
$string = str_replace("{",'{"',$string);
$string = str_replace(":'",'":"',$string);
$string = str_replace("',",'","',$string);
$string = str_replace("'}",'"}',$string);
return $string;
}
正規表現の代わりにそれを試してください