static private function removeAccentedLetters($input){
for ($i = 0; $i < strlen($input); $i++) {
$input[$i]=self::simplify($input[$i]);
}
return $input;
}
static private function simplify($in){
switch ($in) {
case 'Á':
return 'A';
case 'á':
return 'a';
default:
return $in;
}
}
这是代码。不行。有什么想法吗? 哦耶。它总是进入dafault出口进行任何输入。也许这与php处理字符X字符串的方式有关吗?我不知道。
答案 0 :(得分:1)
切换字符代码,而不是切换字符本身。将ASCII扩展字符直接嵌入字符串raw是危险的。有时,如果指定的编码错误,即使是用于编写代码的编辑器也可能会错误地保存字符。
答案 1 :(得分:1)
答案 2 :(得分:0)
呀。我稍微改变了代码
switch ($in) {
case 'B':
return 'A';
case 'b':
return 'a';
default:
return $in;
}
用于测试目的并且有效。谢谢大家。