注意: 我认为我知道的可能是错误的,所以请您帮忙纠正我的知识 :)
我建议使用str_ireplace('Волгоград', '', $a)
。
我没想到这会起作用,但它确实起作用了。
我一直以为PHP将一个字节视为一个字符,因此当使用ASCII范围之外的字符时,需要使用mb_*
函数才能获得准确的结果。
我假设俄语字符每个都需要> 1个字节。
我认为str_replace()
会起作用,因为无论是否为多字节,只要按顺序匹配字节即可。
我认为str_ireplace()
不会起作用,因为PHP不知道如何将非ASCII字符映射到它们的大写等效项。但是,它确实起作用了。
我在哪里错了?请尽可能提供更多信息 :)
mbstring.func_overload
。但根据文档,它不应该掩盖str_ireplace
。(或者它只是没有记录在案。) - mariombstring.func_overload
已关闭。 - alex