在PHP中是否可以比较字符串:
Æther == AEther == Aether
我想从这个等价
得到积极的结果我实际上尝试了多项但却没有取得真正的成功:
用strtr替换Æ和任何特殊字符到Ae(表现不好,我宁愿保持字符串不变)
使用strcmp / strcasecmp,解决了上限问题,但我仍然遇到所有UTF-8字符问题
我正在努力实现它解析从json检索到的元素列表并与其他json文件匹配,有些可以拼写不同(utf8或非utf8,大写等),所以,现在,我发现这样做的唯一方法是制作第三个这样的json:
{
"match": {
"name": "Unravel the \u00c6ther"
},
"replace": {
"name": "Unravel the aether"
}
我用corect替换了基本字符串,但我想找到一种自动化过程的方法。
答案 0 :(得分:11)
您可以使用iconv的音译功能:
iconv('utf8', 'ASCII//TRANSLIT', 'Æther') == 'Aether';
某些Windows系统可能需要使用'utf-8'而不是'utf8'。
答案 1 :(得分:2)
你需要写一个功能。 我给你两个提示:
这两项功能可以帮助你入门;)
答案 2 :(得分:-1)
为什么不用str_replace()
用AE替换Æ。然后使用'strtolower()'将两个字符串转换为小写并比较...