Home > Article > Backend Development > 把一个数组写入配置文件,&符号为什么变成了&
这是不可能的,应该是你一开始就做了 html 转义
$a = array('a' => '&abc');$s = var_export($a, 1);echo $s;
array ( 'a' => '&abc',)
可能写入前你的数组中的&就是实体了。print_r($configdata); 在源码下看一下就知道了。
你在之前已经转义了。
可以用htmlspecialchars_decode转回来。
http://php.net/manual/en/function.htmlspecialchars-decode.php
写入之前我用print_r输出的结果是这样:
写入文件后的结果是这样:
这是源代码:
写入前没有进行html转换啊
这是源代码
打印出来后,浏览器中查看源码才能知道有没有转换。
这个问题解决了,是接收参数的时候进行字符转义了
现在还有个问题:
configdata数组中有字符反斜杠 \ ,经过这一句后
$config_arr = var_export($configdata,true);
写入到配置文件中后反斜杠变成了\\ 怎么解决
#4 的图一是在 html 方式下的显示结果
你 右键--查看源文件 才能看到真实的数据
或者在打印前先输出
这个问题解决了,是接收参数的时候进行字符转义了
现在还有个问题:
configdata数组中有字符反斜杠 \ ,经过这一句后
$config_arr = var_export($configdata,true);
写入到配置文件中后反斜杠变成了\\ 怎么解决