Get first letter of each word for a given string in PHP

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

$string = "This Is The TEST String";
$result = "TITTS";

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

$words = explode(" ", "This Is The TEST String");
$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+/", "This Is The TEST String");

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,_-]+/", "This Is The TEST String");

No comments:

Post a Comment