Я хочу прочитать файл .json, используя file_get_contents, который возвращает строку.Затем я использую json_decode для создания массива / объекта из него.Все работает.
Моя проблема в том, что иногда строка в файле json содержит выражения регулярных выражений.Они не могут быть расшифрованы!Поэтому следующее уведомление:
Notice: Trying to get property 'Data' of non-object in
После быстрого поиска в Google я обнаружил, что мне нужно дважды убежать от них.Я попытался изменить его в файле JSON - он работает.
From:
"Block Proxy URL": "somesite.ab123regex(\d\d\d).top/fyli.php",
To:
"Block Proxy URL": "somesite.ab123regex(\\d\\d\\d).top/fyli.php",
Но я получаю этот файл, сгенерированный устройством, поэтому не могу каждый раз менять его вручную.
Поэтому я попытался его автоматизировать:
$archer_json_data = file_get_contents($filename);
str_replace("\\", "\\\\", $archer_json_data);
$archer_json_array = json_decode($archer_json_data)->Data;
который не работает.Я также пробовал addlashes вместо str_replace, он не работает.Зачем?Согласно ответам моего быстрого поиска в Google, он работает для них.
В целях отладки я повторил archer_json_data
до str_replace и после .. они точно такие же.Почему мой str_replace не работает?