我在比较名称字符串时遇到问题。
我有三个变量

$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

10-08 04:32