如何转义由PHP parse_ini_file函数解析的文件中的特殊字符?

时间:2012-11-09 11:00:24

标签: php encoding special-characters

我想在配置文件中保留一个字符串,由PHP parse_ini_file()函数解析。但是,此字符串包含一些需要以某种方式编码的特殊字符(代码如0x2C0x3D)。有没有办法在这样的文件中用十六进制代码编写特殊字符?

1 个答案:

答案 0 :(得分:7)

转义INI值的正确方法是将它们包含在"double quotes"中。如果您的字符串不包含双引号,则可以将其用作双引号括起来的值。

根据http://php.net/manual/en/function.parse-ini-file.php#100046

,只要值中没有两个连续的双引号,使用反斜杠转义单引号似乎就可以正常工作

如果你想自己逃避,你当然可以:

htmlspecialchars / htmlspecialchars_decode转义<>&"

htmlentities / html_entitity_decode将非常有侵略性地(但也非常安全地)转移到HTML实体

urlencode / urldecode将转义除_-~.以外的所有特殊字符。

base64_encode / base64_decode将确保编码的字符串仅包含字母数字字符和+=/。这可能是编码二进制数据的最佳选择,但不能保持可读性。