PHP:转义 .ini 文件中的非法字符
Posted
技术标签:
【中文标题】PHP:转义 .ini 文件中的非法字符【英文标题】:PHP: Escape illegal chars in .ini-files 【发布时间】:2011-02-01 23:49:18 【问题描述】:parse_ini_file 上的文档指出您不能在值中使用这些字符 |&~![()^"
。有什么办法可以逃避这些字符吗?我需要使用它们。使用 \ 进行正常转义似乎不起作用。
【问题讨论】:
键需要这些字符的任何原因,尤其是 &? 我希望你这样做不是为了安全。 【参考方案1】:manual 表示这些字符不能在 key 中使用——与 value 相反。要在值中使用它们,请将字符串双引号。
【讨论】:
"Characters |&~![()^" 不能在键中的任何地方使用,并且在值中具有特殊含义。将 () 放在双引号字符串值中。 双引号呢? 如果双引号字符串跨越多行,则它们的工作方式不同 - 然后,它们就像不带引号的字符串一样工作,只是使用换行符【参考方案2】:尝试对scanner_mode
使用INI_SCANNER_RAW
(来自同一文档):
parse_ini_file ( $filename, true, INI_SCANNER_RAW );
【讨论】:
如果您碰巧解析了自己的.ini
文件以供自己使用,这可能会起作用。这将不包括您更改由其他代码(包括在 php 启动时读取的 .ini
)使用的 .ini
的情况。以上是关于PHP:转义 .ini 文件中的非法字符的主要内容,如果未能解决你的问题,请参考以下文章
java编程中出现的错误“非法字符:\56288”是啥意思?
501方法未实现 - URLDecoder:转义(%)模式中的非法十六进制字符 - 对于输入字符串:“u2”