A note for myself on some code to convert a string of two names into a string made up of the first name and then using the initial of the second name.
copyraw
-- What I have John Smith Fred.Bloggs -- What I want John S. Fred B.
- -- What I have
- John Smith
- Fred.Bloggs
- -- What I want
- John S.
- Fred B.
How?
So different ways, the first thing I did was to create the logic:
copyraw
// default
$author_name_disp=$author_name;
// check and transform
if(strpos($author_name, ' ')!==false){
$author_names=explode(' ', $author_name);
$author_name_disp=ucfirst($author_names[0]).' '.strtoupper($author_names[1][0]).'.';
}elseif(strpos($author_name, '.')!==false){
$author_names=explode('.', $author_name);
$author_name_disp=ucfirst($author_names[0]).' '.strtoupper($author_names[1][0]).'.';
}else{
$author_name_disp=ucfirst($author_name);
}
// output
echo $author_name_disp;
- // default
- $author_name_disp=$author_name;
- // check and transform
- if(strpos($author_name, ' ')!==false){
- $author_names=explode(' ', $author_name);
- $author_name_disp=ucfirst($author_names[0]).' '.strtoupper($author_names[1][0]).'.';
- }elseif(strpos($author_name, '.')!==false){
- $author_names=explode('.', $author_name);
- $author_name_disp=ucfirst($author_names[0]).' '.strtoupper($author_names[1][0]).'.';
- }else{
- $author_name_disp=ucfirst($author_name);
- }
- // output
- echo $author_name_disp;
A lot of repetition so lets reduce that a touch:
copyraw
And a little more:
// default
$author_name_disp=$author_name;
// check and transform
$delimiters=array(' ', '.');
foreach($delimiters as $word_index=>$delimiter) {
if (strpos($author_name, $delimiter)!==false) {
$author_names=explode($delimiters[$word_index], $author_name);
$author_name_disp=ucfirst($author_names[0]).' '.strtoupper($author_names[1][0]).'.';
}
}
// output
echo $author_name_disp;
- // default
- $author_name_disp=$author_name;
- // check and transform
- $delimiters=array(' ', '.');
- foreach($delimiters as $word_index=>$delimiter) {
- if (strpos($author_name, $delimiter)!==false) {
- $author_names=explode($delimiters[$word_index], $author_name);
- $author_name_disp=ucfirst($author_names[0]).' '.strtoupper($author_names[1][0]).'.';
- }
- }
- // output
- echo $author_name_disp;
copyraw
// default
$author_name_disp=$author_name;
// check and transform
foreach(array(' ', '.') as $delimiter) {
if (strpos($author_name, $delimiter)!==false) {
$author_names=array_map('ucfirst', explode($delimiter, $author_name));
$author_name_disp=$author_names[0].' '.$author_names[1][0].'.';
}
}
// output
echo $author_name_disp;
- // default
- $author_name_disp=$author_name;
- // check and transform
- foreach(array(' ', '.') as $delimiter) {
- if (strpos($author_name, $delimiter)!==false) {
- $author_names=array_map('ucfirst', explode($delimiter, $author_name));
- $author_name_disp=$author_names[0].' '.$author_names[1][0].'.';
- }
- }
- // output
- echo $author_name_disp;
Category: Personal Home Page :: Article: 556



Add comment