我有一个包含重音字母的单词(城市名称)。我有一个函数,检查城市名称是否在数组中,如果是,将返回一个值(如果不是将返回另一个值)。 即使城市在那里,这个词也不会匹配任何城市(带口音)。我打印出他们俩,他们正确显示(没有怪异的字符,而不是重音)。 它可能是什么? 感谢匹配具有重音符号的字符串
function SearchPV($city){
require('PV_CAP_Array.php');
$city = str_replace(" ", "", $city);
$city = str_replace("\'","", $city);
foreach($CAP_PV_ARRAY as $key=>$value){
if(strtolower($city) == strtolower($key))
return 'VR';
else
return "PV != VR";
}
}
阵列:
$CAP_PV_ARRAY=array('affi'=>'37010',
'dolcè'=>'37020'
};
编辑
我删除了else语句,它工作(即使我不知道为什么)。好像回报率将不会打破循环(这是要在评估其他选项和返回“!PV = VR”
工作代码
foreach($CAP_PV_ARRAY as $key => $value){
if(strtolower($city) == strtolower($key))
return "VR";
}
使用['前缀字符串函数mb_'(http://php.net /manual/en/book.mbstring.php)与unicode一起使用。 – mudasobwa 2014-12-03 15:24:30
或只允许普通字母的正则表达式,例如'/ [a-zA-Z \ \ - ] /' – UnskilledFreak 2014-12-03 15:46:31