Re: Question about "shortening" a string
| From: | Steve Slater | Date: | Sat, 12 Mar 2005 16:29:09 +0000 |
| Subject: | Re: Question about "shortening" a string | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-210588@lists.php.net to get a copy of this message | ||
At 11:54 PM 3/11/2005, Stephen Johnson wrote:
Just a quick and dirty solution - but couldn't you explode the name into an array and use the first and last array fields ?$name_array = explode(" ",$name); $short_name = "$name_array[0] " . end($name_array); And a dozen other ways to do it I'm sure. I just finished a project with a mess of pattern matching so have regex on the brain. :-) Steve
On Mar 11, 2005, at 11:39 PM, Steve Slater wrote:------------------ Steve Slater slater@handsonsecurity.com PHP / MySQL / Web App Security (LAMP) Training: http://www.handsonsecurity.com/training.htmlMario, 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********* Stephen Johnson stephen@thelonecoder.com http://www.thelonecoder.com --continuing the struggle against bad code-- ********* -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.phpIn 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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php