Как избежать специальных символов в файле, обработанном функцией parse_ini_file PHP?

Я хотел бы сохранить определенную строку в файле конфигурации, которая должна быть проанализирована функцией PHP parse_ini_file() . Однако эта строка содержит некоторые специальные символы (с кодами типа 0x2C или 0x3D ), которые необходимо каким-то образом закодировать. Есть ли способ написать специальный символ с шестнадцатеричным кодом в таком файле?

Правильный способ избежать значений INI заключить их в "double quotes" . Если ваша строка не содержит двойных кавычек, вы можете использовать ее в качестве значения, заключенного в двойные кавычки.

Сбрасывание одиночных кавычек с обратной косой чертой, похоже, работает до тех пор, пока в значении нет двух последовательных двойных кавычек, согласно http://php.net/manual/en/function.parse-ini-file.php#100046

Если вы хотите сделать свое собственное побег, вы, безусловно, можете:

htmlspecialchars / htmlspecialchars_decode escapes < , > , & and " .

htmlentities / html_entitity_decode будет очень агрессивно (но также очень безопасно) с HTML-объектами

urlencode / urldecode избежит всех специальных символов, кроме _-~. ,

base64_encode / base64_decode гарантирует, что закодированная строка содержит только буквенно-цифровые символы и +=/ . Это может быть оптимальным для кодирования двоичных данных, но не сохраняет читаемость.