处理POST表单数据时,CodeIgniter正在打印未指定的货币( )



当我在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&currency=USD&redirect_url=abc.com

因此,观察到的输出缺少&curren,它将被您所看到的角色所取代。

解决方法是使用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¤·¤(**在每个;让它显示

相关内容

  • 没有找到相关文章

最新更新