Grigor Grigor - 5 months ago 26
PHP Question

get first letter of each word

How would I get the first letter of each word for a given string?

$string = "Community College District";
$result = "CCD";

I found the javascript method but wasn't sure how to convert it to php.


explode() on the spaces, then you use the [] notation to access the resultant strings as arrays:

$words = explode(" ", "Community College District");
$acronym = "";

foreach ($words as $w) {
  $acronym .= $w[0];

If you have an expectation that multiple spaces may separate words, switch instead to preg_split()

$words = preg_split("/\s+/", "Community College District");

Or if characters other than whitespace delimit words (-,_) for example, use preg_split() as well:

// Delimit by multiple spaces, hyphen, underscore, comma
$words = preg_split("/[\s,_-]+/", "Community College District");