Formatting Human Names - PHP (or any language) library? -


is there way format human names? example, "john doe" should "john doe". or "angus macgyver" should "angus macgyver". etc.

i know solution not going complete (there's many rules names), better nothing. suggestions?

as suggested in comments, in php, can this:

$name_formatted = ucfirst(strtolower($name_unformatted)); 

this handle 90% of cases. put function , add rules deal macguyver, o'reilly type exceptions.

update: pointed out, ucfirst first word in string. use regex uppercase first letters in every word, or function this:

<?php $name_unformatted = "john doe";  function format_name($name_unformatted) {    $name_formatted = ucwords(strtolower($name_unformatted));  // handle 90% of names     // ucwords work strings, if wanted break out each word can deal exceptions, this:    $separator = array(" ","-","+","'");    foreach($separator $s)    {       if (strpos($name_formatted, $s) !== false)       {          $word = explode($s, $name_formatted);          $tmp_ary = array_map("ucfirst", array_map("strtolower", $word));  // whatever processing want here          $name_formatted = implode($s, $tmp_ary);       }    }     return $name_formatted; }  echo format_name($name_unformatted); ?> 

you can expand on function handle name exceptions.


Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -