How to escape special characters in a file parsed by PHP parse_ini_file function?

女生的网名这么多〃 提交于 2019-11-28 09:15:21

问题


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?


回答1:


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 entities

urlencode / 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.



来源:https://stackoverflow.com/questions/13306821/how-to-escape-special-characters-in-a-file-parsed-by-php-parse-ini-file-function

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!