当前位置: 代码迷 >> PHP >> 把一个数组写下配置文件,&符号为什么变成了&amp
  详细解决方案

把一个数组写下配置文件,&符号为什么变成了&amp

热度:14   发布时间:2016-04-28 17:17:04.0
把一个数组写入配置文件,&符号为什么变成了&

$config_arr = var_export($configdata,true);
$config_txt = "<?php" . PHP_EOL . "if (!defined('IN_APP')) exit();" . PHP_EOL . "return " . $config_arr. ";";
file_put_contents( 'config.ini.php', $config_txt);


$config_arr是一个数组,数组值中有&符号,把它写入到config.ini.php后,&符号变成了&amp;

有办法让它不变吗?
------解决思路----------------------
这是不可能的,应该是你一开始就做了 html 转义
$a = array('a' => '&abc');
$s =  var_export($a, 1);
echo $s;
array (
  'a' => '&abc',
)

------解决思路----------------------
引用:
这个问题解决了,是接收参数的时候进行字符转义了
现在还有个问题:
configdata数组中有字符反斜杠 \ ,经过这一句后
$config_arr = var_export($configdata,true);

写入到配置文件中后反斜杠变成了\\ 怎么解决


stripslashes() 用这个方法转回去。
  相关解决方案