当我在CodeIgniter中将字符串打印到浏览器时,我无法删除未指定的货币符号(¥(。我已经清理了POST数据,当我通过chrome的ctrl+u看到html代码时,它就会消失。请帮我删除这个。
以下是浏览器上的输出
language=EN&金额=100元=美元;redirect_url=abc.com
$data='';
foreach ($_POST as $key => $value){
$data.=$key.'='.$value.'&';
}
echo $data;
$_POST的转储如下,在转储中,货币符号不可见。
array(14) {
["country"]=> string(3) "INR"
["language"]=> string(2) "EN"
["amount"]=> string(3) "100"
["currency"]=> string(3) "USD"
["billing_name"]=> string(4) "ABCD"
["billing_email"]=> string(13) "test@test.com"
["billing_tel"]=> string(10) "9876543210"
["billing_address"]=> string(12) "Delhi, India"
["billing_city"]=> string(5) "Delhi"
["billing_state"]=> string(5) "delhi"
["billing_zip"]=> string(6) "110001"
["billing_country"]=> string(5) "India"
}
所以您看到的是。。。
language=EN&amount=100¤cy=USD&redirect_url=abc.com
你应该看到的是。。。
language=EN&amount=100¤cy=USD&redirect_url=abc.com
因此,观察到的输出缺少¤,它将被您所看到的角色所取代。
解决方法是使用htmlentities,以防止这种翻译。
所以你的代码会变成
foreach ($_POST as $key => $value){
$data .= $key.'='.$value.'&';
}
$data = trim($data, '&'); // hack to remove last &
echo htmlentities($data); // This will give the correct result
FYI(来自维基百科(货币符号在Unicode中表示为U+00A4货币符号(HTML¤;·¤;(**在每个;让它显示