RES: [PHP] Case Conversion of US Person Names

2009-07-16 Thread Jônatas Zechim
U can try this:

function fNme($n){
$tN=count($n=explode(' ',strtolower($n)));
$nR='';

for($i=0;$i$tN;$i++){if($i==0){$nR.=strlen($n[$i])3?ucwords($n[$i]):$n[$i]
;}else{$nR.=strlen($n[$i])3?' '.ucwords($n[$i]):' '.$n[$i];}}
return $nR;
}

echo fNme('a aaa aa aa ');

And also make an array inside this function for exceptions like 'vander' or
other words which the srtlen is  3.

Zechim

-Mensagem original-
De: phphelp -- kbk [mailto:phph...@comcast.net] 
Enviada em: quinta-feira, 16 de julho de 2009 15:00
Para: PHP General List
Assunto: [PHP] Case Conversion of US Person Names

Hi, All -- -- - -

I occasionally find myself in need of a utility to do case conversion  
of people's names, especially when I am converting data from an old  
to a new system. This is the first such occasion in PHP.

I know about ucwords() and mb_convert_case(). They do not accommodate  
names with middle capitalization.

Does anybody have such a utility to share, or know of one posted by  
someone out there that you have used?

I am not looking for perfection -- I know that such is not possible.  
I just want to pick off the easy ones -- Mc, Mac, O', de, de la, van,  
vander, van der, d' and others like that. I see some novel attempts  
to do parts of this on the PHP ucwords() User Notes area, but I bet  
someone out there has something more comprehensive. I'd rather not  
roll my own as I have done in other languages.

I have Googled without success.

Many thanks,


Ken

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: RES: [PHP] Case Conversion of US Person Names

2009-07-16 Thread phphelp -- kbk

On Jul 16, 2009, at 1:19 PM, Jônatas Zechim wrote:


U can try this:

function fNme($n){
$tN=count($n=explode(' ',strtolower($n)));
$nR='';

for($i=0;$i$tN;$i++){if($i==0){$nR.=strlen($n[$i])3?ucwords($n 
[$i]):$n[$i]

;}else{$nR.=strlen($n[$i])3?' '.ucwords($n[$i]):' '.$n[$i];}}
return $nR;
}

echo fNme('a aaa aa aa ');

And also make an array inside this function for exceptions like  
'vander' or

other words which the srtlen is  3.



Thank you. If I roll my own function, that could be useful.

I'd still rather find one that exists, though.

Ken
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php