【问题标题】:PHP: Escape illegal chars in .ini-filesPHP:转义 .ini 文件中的非法字符
【发布时间】:2011-02-01 23:49:18
【问题描述】:

parse_ini_file 上的文档指出您不能在值中使用这些字符 {}|&~![()^"。有什么办法可以逃避这些字符吗?我需要使用它们。使用 \ 进行正常转义似乎不起作用。

【问题讨论】:

  • 键需要这些字符的任何原因,尤其是 &?
  • 我希望你这样做不是为了安全。

标签: php ini


【解决方案1】:

manual 表示这些字符不能在 key 中使用——与 value 相反。要在值中使用它们,请将字符串双引号。

【讨论】:

  • "Characters {}|&~![()^" 不能在键中的任何地方使用,并且在值中具有特殊含义。将 () 放在双引号字符串值中。
  • 双引号呢?
  • 如果双引号字符串跨越多行,则它们的工作方式不同 - 然后,它们就像不带引号的字符串一样工作,只是使用换行符
【解决方案2】:

尝试对scanner_mode 使用INI_SCANNER_RAW(来自同一文档):

parse_ini_file ( $filename, true, INI_SCANNER_RAW );

【讨论】:

  • 如果您碰巧解析了自己的 .ini 文件以供自己使用,这可能会起作用。这将不包括您更改由其他代码(包括在 PHP 启动时读取的 .ini)使用的 .ini 的情况。
猜你喜欢
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 2012-09-14
  • 1970-01-01
  • 2013-12-08
相关资源
最近更新 更多