我在比较名称字符串时遇到问题。
我有三个变量
$fullname = 'MASNAD HOSSAIN NEHITH';
$firstName = 'Masnad';
$LastName = 'Nehith';
$fullname2 = 'MÄSNAD HOSSAIN NEHITH';
$firstName2 = 'Mäsnad';
$LastName2 = 'Nehith';
我想用
strpos
来看看名字是否存在于全名中,但是strpos
是区分大小写的。我试过使用pregmatch的正则表达式,但我不确定它是如何工作的。
$pregmatch = preg_match("/$fullname/", $firstName);
if($pregmatch){
echo " it matches";
}
$pregmatch2 = preg_match("/$fullname2/", $firstName2);
if($pregmatch2){
echo " it matches";
}
最佳答案
将preg_match
函数与ui
修饰符一起使用(以匹配utf-8字符并匹配大小写字母):
$fullname2 = 'MÄSNAD HOSSAIN NEHITH';
$firstName2 = 'Mäsnad';
if (preg_match("/$firstName2/ui", $fullname2)){
echo "it matches";
}
http://php.net/manual/en/reference.pcre.pattern.modifiers.php