|
Posted by Steve Slater on 03/12/05 09:39
Mario,
Many ways to do it, most using regex. This is not as clean as it
can be but still shows the idea:
<?php
$name = "Mario Augusto Machado dos Reis Gamito";
preg_match ("/^(\w+)(\W*)(\w+\W+)*(\w+)$/",$name,$matches);
$short_name = "$matches[1] $matches[4]";
?>
This example works for any number of middle names (including zero)
and any number of white spaces between words. You can probably
get this more elegant, but this is one idea.
Steve
>In Portgal we have big names.
>My complete name, for instance, is "Mário Augusto Machado dos Reis Gamito".
>"Mário" is the Christian name and "Gamito" - the last one - is always the
>last name of the father.
>
>I have a form where i want to let my users insert their full big name like
>mine, but i want to shorten them just to the first and the last.
>
>For example, if i fill the form with "Mário Augusto Machado dos Reis
>Gamito", i want to change this string to only "Mário Gamito".
>
>The total number of names is not fix.
>Could be 3, 4, 5, 6,...
>My son name is "Manuel Ramos Gamito". Only 3 names.
>Should be changed to "Manuel Gamito", also.
>
>I've looked at the strings functions in the manual, made a lot of
>experiences, but couldn't get there :(
>
>Does anyone knows how to do this ?
>
>Any help would be apreciated.
>
>Warm Regards,
>Mário Gamito
>
>--
>PHP General Mailing List (http://www.php.net/)
>To unsubscribe, visit: http://www.php.net/unsub.php
>
>
------------------
Steve Slater
slater@handsonsecurity.com
PHP / MySQL / Web App Security (LAMP) Training:
http://www.handsonsecurity.com/training.html
Navigation:
[Reply to this message]
|