如何用PHP替换字符串中的€。
我有很多变量用€并且无法替换它们。
Y试试:
$var = "€ 66 ";
$change = str_replace("€","",$var);
但这并没有改变任何事情。
编辑:无法替换为str_replace。
参见代码:
foreach ($city as $citi) {
$cinti = $citi;
$as = str_replace('€ ', '', $cinti);
var_dump($as);
echo '<br>';
}
然后我明白了:
string(4) "€ 50"
string(4) "€ 65"
string(4) "€ 65"
string(5) "€ 141"
string(4) "€ 75"
string(5) "€ 165"
结果:
至少,我无法正确使用,所以我只得到数字并继续我的事情......
foreach ($city as $citi) {
$ss = $citi[0];
preg_match_all('!\d+!', $ss, $matches);
echo $matches[0][0].','.$citi[1];
echo '<br>';
}
答案 0 :(得分:2)
如果您的源文件字符编码是UTF-8,那么€是一个多字节字符。 str_replace仅适用于ISO-8859-1 / Latin1字符串。
尝试这样的事情:
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
$city = array( "€ 50","€ 65","€ 65");
foreach ($city as $citi) {
$as = mb_eregi_replace('€','',$citi);
var_dump($as);
echo '<br>';
}
我更新了示例以更好地适合您的示例代码。
输出:
string(3) " 50"
string(3) " 65"
string(3) " 65"
你可以添加一个trim()来摆脱空白。
答案 1 :(得分:0)
试试这个。
$var = "€ 66 ";
$change = str_replace("€", "", htmlentities(trim($var)));
echo $change;