I'd like to keep a certain string in a configuration file, that is to be parsed by PHP parse_ini_file()
function. However, this string contains some special characters (with codes like 0x2C
or 0x3D
) that need to be encoded in some way. Is there any way to write a special character with a hex code in such a file?
相关问题
- Views base64 encoded blob in HTML with PHP
- Laravel Option Select - Default Issue
- PHP Recursively File Folder Scan Sorted by Modific
- Can php detect if javascript is on or not?
- Using similar_text and strpos together
The proper way to escape INI values is to enclose them in
"double quotes"
. If your string doesn't contain double quotes, you can use it in as a value enclosed in double quotes.Escaping single quotes with a backslash seems to work as long as there are not two consecutive double quotes in the value, as per http://php.net/manual/en/function.parse-ini-file.php#100046
If you want to do your own escaping, you certainly can:
htmlspecialchars
/htmlspecialchars_decode
escapes<
,>
,&
and"
.htmlentities
/html_entitity_decode
will escape very aggresively (but also very safely) to HTML entitiesurlencode
/urldecode
will escape all special characters except_-~.
.base64_encode
/base64_decode
will ensure the encoded string contains only alphanumeric characters and+=/
. This might be optimal for encoding binary data but doesn't preserve readability.