阻止HTML实体的转换。
请查看以下代码:
$array = array(
"id" => 123456,
"currency" => "EUR",
);
var_dump(http_build_query($array));
//OUTPUT:
string 'id=123456¤cy=EUR' (length=22)
好的,有效。但有些服务器给我这个输出:
string(25) "pspid=123456¤cy=EUR"
因此,某些服务器将¤
视为HTML实体。但我不想要那个。
如何避免不必要的HTML实体转换?
答案 0 :(得分:0)
解决方案很简单。
只需在输出中使用htmlentities
即可。
ini_set("display_errors", 1);
$array = array(
"id" => 123456,
"currency" => "EUR",
);
print_r(http_build_query($array));
echo PHP_EOL;
print_r(htmlentities(http_build_query($array)));
//OUTPUT:
id=123456¤cy=EUR
id=123456&currency=EUR
答案 1 :(得分:0)
检查你的php版本:
PHP 5.3.1(越野车行为)http_build_query逃脱'&'加入参数的&符号。示例:user_id = 1& setting_id = 2.
PHP 5.4+ http_build_query不要逃避'&'加入参数的&符号。示例:user_id = 1& setting_id = 2
有关详情,请点击此处:https://stackoverflow.com/a/42317655/1016425