我需要按姓名进行国际认证。但是问题是,即使字符不同,我也需要返回TRUE。
示例:
$str1 = 'Bożydar Kamiński';
$str2 = 'BOZYDAR KAMINSKI';
// I need this to be TRUE
if ($str1 == $str2) {
echo 'YOUR BUNNY WROTE';
}
是否有一些PHP默认函数将带有Unicode字符(str1)的UTF-8字符串转换为普通的拉丁字符?
答案 0 :(得分:0)
如果您知道有关UTF-8编码器的可能差异,则可以创建自己的解码器。您可以创建一个包含所有可能的奇怪字符的表,并在该函数中执行比较,然后交换等效项。
答案 1 :(得分:0)
$coll = Collator::create('');
$coll->setStrength(Collator::PRIMARY);
var_dump(0 == $coll->compare(
'Bożydar Kamiński',
'BOZYDAR KAMINSKI'
)); // bool(true)