93        $this->titles = array(
'dr',
'doctor',
'miss',
'misses',
'mr',
'mister',
'mrs',
'ms',
'judge',
'sir',
'madam',
'madame',
'AB',
'2ndLt',
'Amn',
'1stLt',
'A1C',
'Capt',
'SrA',
'Maj',
'SSgt',
'LtCol',
'TSgt',
'Col',
'BrigGen',
'1stSgt',
'MajGen',
'SMSgt',
'LtGen',
'1stSgt',
'Gen',
'CMSgt',
'1stSgt',
'CCMSgt',
'CMSAF',
'PVT',
'2LT',
'PV2',
'1LT',
'PFC',
'CPT',
'SPC',
'MAJ',
'CPL',
'LTC',
'SGT',
'COL',
'SSG',
'BG',
'SFC',
'MG',
'MSG',
'LTG',
'1SGT',
'GEN',
'SGM',
'CSM',
'SMA',
'WO1',
'WO2',
'WO3',
'WO4',
'WO5',
'ENS',
'SA',
'LTJG',
'SN',
'LT',
'PO3',
'LCDR',
'PO2',
'CDR',
'PO1',
'CAPT',
'CPO',
'RADM(LH)',
'SCPO',
'RADM(UH)',
'MCPO',
'VADM',
'MCPOC',
'ADM',
'MPCO-CG',
'CWO-2',
'CWO-3',
'CWO-4',
'Pvt',
'2ndLt',
'PFC',
'1stLt',
'LCpl',
'Capt',
'Cpl',
'Maj',
'Sgt',
'LtCol',
'SSgt',
'Col',
'GySgt',
'BGen',
'MSgt',
'MajGen',
'1stSgt',
'LtGen',
'MGySgt',
'Gen',
'SgtMaj',
'SgtMajMC',
'WO-1',
'CWO-2',
'CWO-3',
'CWO-4',
'CWO-5',
'ENS',
'SA',
'LTJG',
'SN',
'LT',
'PO3',
'LCDR',
'PO2',
'CDR',
'PO1',
'CAPT',
'CPO',
'RDML',
'SCPO',
'RADM',
'MCPO',
'VADM',
'MCPON',
'ADM',
'FADM',
'WO1',
'CWO2',
'CWO3',
'CWO4',
'CWO5');
 
   95        $this->prefices = array(
'bon',
'ben',
'bin',
'da',
'dal',
'de',
'del',
'der',
'de',
'e',
'la',
'le',
'san',
'st',
'ste',
'van',
'vel',
'von');
 
   96        $this->suffices = array(
'esq',
'esquire',
'jr',
'sr',
'2',
'i',
'ii',
'iii',
'iv',
'v',
'clu',
'chfc',
'cfp',
'md',
'phd');
 
   98        $this->notParseable = 
false;
 
  101        if ($initString != 
"") {
 
  102            $this->fullName = $initString;
 
  191        $this->fullName = $newFullName;
 
  205        $needle = trim(strtolower(str_replace(
'.', 
'', $needle)));
 
  206        return  in_array($needle, $haystack);
 
  224        $this->notParseable = 
false;
 
  227        $pieces = explode(
',', preg_replace(
'/\s+/', 
' ', trim($this->fullName)));
 
  228        $numPieces = count($pieces);
 
  230        switch ($numPieces) {
 
  234                $subPieces = explode(
' ', trim($pieces[0]));
 
  235                $numSubPieces = count($subPieces);
 
  236                for (
$i = 0; 
$i < $numSubPieces; 
$i++) {
 
  238                    if (
$i < ($numSubPieces - 1)) {
 
  239                        $next = trim($subPieces[
$i + 1]);
 
  247                    if ($this->first == 
"") {
 
  251                    if (
$i == $numSubPieces - 2 && ($next != 
"") && $this->
inArrayNorm($next, $this->suffices)) {
 
  252                        if ($this->last != 
"") {
 
  257                        $this->suffix = $next;
 
  260                    if (
$i == $numSubPieces - 1) {
 
  261                        if ($this->last != 
"") {
 
  269                        if ($this->last != 
"") {
 
  276                    if ($next == 
'y' || $next == 
'Y') {
 
  277                        if ($this->last != 
"") {
 
  284                    if ($this->last != 
"") {
 
  288                    if ($this->middle != 
"") {
 
  297                switch ($this->
inArrayNorm($pieces[1], $this->suffices)) {
 
  301                        $subPieces = explode(
' ', trim($pieces[0]));
 
  302                        $numSubPieces = count($subPieces);
 
  303                        for (
$i = 0; 
$i < $numSubPieces; 
$i++) {
 
  305                            if (
$i < ($numSubPieces - 1)) {
 
  306                                $next = trim($subPieces[
$i + 1]);
 
  314                            if ($this->first == 
"") {
 
  318                            if (
$i == $numSubPieces - 1) {
 
  319                                if ($this->last != 
"") {
 
  327                                if ($this->last != 
"") {
 
  334                            if ($next == 
'y' || $next == 
'Y') {
 
  335                                if ($this->last != 
"") {
 
  342                            if ($this->last != 
"") {
 
  346                            if ($this->middle != 
"") {
 
  352                        $this->suffix = trim($pieces[1]);
 
  353                        for (
$i = 2; 
$i < $numPieces; 
$i++) {
 
  354                            $this->suffix .= 
", " . trim($pieces[
$i]);
 
  360                        $subPieces = explode(
' ', trim($pieces[1]));
 
  361                        $numSubPieces = count($subPieces);
 
  362                        for (
$i = 0; 
$i < $numSubPieces; 
$i++) {
 
  364                            if (
$i < ($numSubPieces - 1)) {
 
  365                                $next = trim($subPieces[
$i + 1]);
 
  373                            if ($this->first == 
"") {
 
  377                            if (
$i == $numSubPieces - 2 && ($next != 
"") && $this->
inArrayNorm($next, $this->suffices)) {
 
  378                                if ($this->middle != 
"") {
 
  383                                $this->suffix = $next;
 
  390                            if ($this->middle != 
"") {
 
  396                        if (isset($pieces[2]) && $pieces[2]) {
 
  397                            if ($this->last == 
"") {
 
  398                                $this->suffix = trim($pieces[2]);
 
  399                                for (
$s = 3; 
$s < $numPieces; 
$s++) {
 
  400                                    $this->suffix .= 
", " . trim($pieces[
$s]);
 
  403                                for (
$s = 2; 
$s < $numPieces; 
$s++) {
 
  404                                    $this->suffix .= 
", " . trim($pieces[
$s]);
 
  408                        $this->last = $pieces[0];
 
  414        if ($this->first == 
"" && $this->middle == 
"" && $this->last == 
"") {
 
  415            $this->notParseable = 
true;
 
An exception for terminatinating execution or to throw for unit testing.
inArrayNorm($needle, $haystack)
Determine if the needle is in the haystack.
parse()
Extract the elements of the full name into separate parts.
getLastName()
Access Method @access public.
getTitle()
Access Method @access public.
getSuffix()
Access Method @access public.
getFirstName()
Access Method @access public.
__destruct()
Destructor @access public.
__construct($initString="")
Constructor: Setup the object, initialise the variables, and if instantiated with a name - parse it a...
getMiddleName()
Access Method @access public.
setFullName($newFullName)
Mutator Method @access public.
getNotParseable()
Access Method @access public.