私はその後、必要に応じてその他のミドルネームまたはイニシャルをフィールドに名前が含まれているかどうか、少なくとも最初/最後の名前から成る、真/偽チェックするために、このPHPの正規表現を使用して、としています。するpreg_match最初/最後の名前に一致するグループ
$success = preg_match("/([\x{00c0}-\x{01ff}a-zA-Z'-]){2,}(\s([\x{00c0}-\x{01ff}a-zA-Z'-]{1,})*)?\s([\x{00c0}-\x{01ff}a-zA-Z'-]{2,})/ui",$user['name'],$matches);
$output[($success ? 'hits' : 'misses')][] = ['id' => $user['id'],'email' => $user['email'],'name' => $user['name'],'matches' => $matches];
一致/不一致のヒット/ミス、すなわち真/偽の点で問題なく動作するようです。
"name": "Jonny Nott",
"matches": [
"Jonny Nott",
"y",
"",
"",
"Nott"
]
"name": "Name Here",
"matches": [
"Name Here",
"e",
"",
"",
"Here"
]
"matches": [
"Jonathan M Notty",
"n",
" M",
"M",
"Notty"
]
:
しかし、その後、私は私が権利を取得するために苦労してるグループを使用して、姓と名を抽出するために同じものを使用しようとしている。..
のような結果の多くを取得します私が本当に欲しいもの..but
は常にちょうど最初の名前が含まれており、常にちょうど最後の名前を格納するための1にする「マッチ」の一つです。
間違って何にとして任意のポインタ?