Goedemorgen allemaal,

Wie kan mij een hint/hulp geven bij het oplossen van de volgende uitdaging:

Ik heb bv. als voornamen van een persoon: Jan Willem Hendrik en daar wil ik J.W.H. van maken.

Met welke PHP-opdracht gaat mij dat lukken?


George
George van Baasbank op 04/11/2012 11:25:38

Goedemorgen allemaal,

Wie kan mij een hint/hulp geven bij het oplossen van de volgende uitdaging:

Ik heb bv. als voornamen van een persoon: Jan Willem Hendrik en daar wil ik J.W.H. van maken.

Met welke PHP-opdracht gaat mij dat lukken?


George


Met substr.
Misschien is het wel een hele omweg, maar okee:

<?php
$naam = 'Jan Willem Hendrik';
$array = explode(' ', $naam);
foreach($array as $key => $value)
{
$array[$key] = ucfirst(substr($value, 0, 1)) . '.';
}
$initialen = implode('', $array);
echo $initialen;
?>
SanThe, kan nog iets makkelijker denk ik? (niet getest!)

<?php
$namen = 'Jan Willem Hendrik';
$namen = explode(' ', $namen);
$initialen = '';
foreach ($namen as $initiaal) {
$initialen .= strtoupper($initiaal[0]) . '. ';
}
echo $initialen;
?>
Of dit:
<?php
$naam = 'Jan Willem Hendrik';

preg_match_all('|\s(\w)|', $naam, $initialen);
$initialen = implode('.', $initialen[1]);

echo $initialen; // 'J.W.H'
?>
@Wouter: Geeft bij mij W.H dus eerste letter mist en laatste punt mist.
Ah, natuurlijk dom van me. Hij moet dan zo worden:
<?php

$naam = 'Jan Willem Hendrik';

preg_match_all('|\b(\w)|', $naam, $initialen);
$initialen = implode('.', $initialen[1]).'.';

echo $initialen; // 'J.W.H.'
?>

Reageren