Updated March 21, 2023
Introduction to PHP ucwords()
Ucwords() in PHP is a built-in function. It is helpful to convert the first and foremost character of a string into uppercase. The ucwords() only supports PHP 4 & above versions. ucwords() function takes a string as an input value and it outputs the string by changing the first letter/character of the string into uppercase. Other than this every other character remains the same as the previous time. The ucwords() function in PHP returns converted to string by changing the first letter of all words to uppercase.
Syntax
Ucwords($string, $separator)
The ucwords() syntax accepts just two parameters.
Parameters of the Syntax:
1. $string( string mandatory ): Between the parenthesis of ucwords() function, string input is required. It is a must and mandatory to this function declaration in order to specify the string which is to be converted.
2. $separator ( Optional Parameter ): Separator is the optional parameter of ucwords() function. It contains words separator characters. The separator used in the input string for the words. The listed characters which are listed below are by default:
- \t for tab
- Space
- \r for Carriage return
- \n for newline
- \v for vertical tab
- \f for form feed
$Separator parameter added in 5.5.16, 5.4.32 versions of PHP.
How PHP ucwords() works?
PHP ucwords works when the text/words contain mixed types of letters/characters inside words. Only the first character of the word/ first characters of all the words which are in the sentence will be converted to capital letters. It works using a string value that contains word/words and it also uses one separator/delimiter value but it is optional. No issue with the separator variable.
Examples of PHP ucwords()
Given below are the examples
Example #1
How the basic program works by using ucwords() PHP function.
Code:
<?php
$input_string = "hey buddy, pavan sake is coming just wait.";
echo "Before:". $input_string;
echo '</br>';
$result_string = ucwords($input_string);
echo "After: ".$result_string;
?>
Output:
Example #2
Code:
<?php
$input_string = "guys|good|night!|everyone.";
$result_string1 = ucwords($input_string);
echo $result_string1. "</br>";
$result_string2 = ucwords($input_string, "|");
echo $result_string2;
?>
Output:
Here in the output $result_string1 provides the same whole string except with the change in the first capital letter but after using separator “|” parameter, $result_string2 will provides output as we required – each letter in the string even after the separator will change its first character into a capital letter.
Example #3
This example here is to use ucwords() function on arrays which has a list of names/strings by removing delimeters/parameters “–“ and “\”.
Code:
<?php
//FUNCTION to implement ucwords() function on arrays which has list of names/strings
function ucname($string1) {
$string1 =ucwords(strtolower($string1));
foreach (array('-', '\'') as $parameters1) {
if (strpos($string1, $parameters1)!==false) {
$string1 =implode($parameters1, array_map('ucfirst', explode($parameters1, $string1)));
}
}
return $string1;
}
?>
<?php
//TEST
$names1 =array(
'SAKE-PAVAN KUMAR',
'ANIL O\'KUMAR',
'MARUTHI PRASAD',
'surendra la gandham',
'rAjAsEkHaR KAtUbaDi'
);
//Here in the $names1, you can add more strings into your array as per your requirement.
foreach ($names1 as $name1) { print ucname("{$name1}\n</br>"); }
//PRINTS:
/*
Sake-Pavan Kumar
Anil O'Kumar
Maruthi Prasad
Surendra La Gandham
Rajasekhar Kattubadi
*/
?>
Output:
Example #4
This is one of the sample programs of ucwords function.
This program has features like:
- Multibyte/bytes Compatability
- It handles delimiters even if there are multiple
Code:
<?php
function ucwords_specific1 ($string1, $delimiters1 = '', $encoding1 = NULL)
{
if ($encoding1 === NULL) { $encoding1 = mb_internal_encoding();}
if (is_string($delimiters1))
{
$delimiters1 = str_split( str_replace(' ', '', $delimiters1));
}
$delimiters_pattern11 = array();
$delimiters_replace11 = array();
$delimiters_pattern21 = array();
$delimiters_replace21 = array();
foreach ($delimiters1 as $delimiter1)
{
$uniqid1 = uniqid();
$delimiters_pattern11[] = '/'. preg_quote($delimiter1) .'/';
$delimiters_replace11[] = $delimiter1.$uniqid1.' ';
$delimiters_pattern21[] = '/'. preg_quote($delimiter1.$uniqid1.' ') .'/';
$delimiters_replace21[] = $delimiter1;
}
// $return_string1 = mb_strtolower($string1, $encoding1);
$return_string1 = $string1;
$return_string1 = preg_replace($delimiters_pattern11, $delimiters_replace11, $return_string1);
$words1 = explode(' ', $return_string1);
foreach ($words1 as $index1 => $word1)
{
$words1[$index1] = mb_strtoupper(mb_substr($word1, 0, 1, $encoding1), $encoding1).mb_substr($word1, 1, mb_strlen($word1, $encoding1), $encoding1);
}
$return_string1 = implode(' ', $words1);
$return_string1 = preg_replace($delimiters_pattern21, $delimiters_replace21, $return_string1);
return $return_string1;
}
?>
<?php
mb_internal_encoding('UTF-8');
$string1 = "PAVAN KUMAR-SAKE d'alltechscience şŠ-òÀ-éÌ hello - web";
echo ucwords_specific1( mb_strtolower($string1, 'UTF-8'), "-'");
?>
Output:
The main parameters which are involved in the above program are $string1, $delimeter1, $delimiters, encoding. Delimeter/Delimeters are the parameters that are an option but needed In the development. The string is the parameter that is to be converted. The encoding parameter is to know the character encoding. Internal characters encoding value/values will be used if the parameter don’t omits.
Example #5
Code:
<?php
//This php syntax is to know how ucwords() function delivers the output if separator/parameter is not used.
$title1 = 'PAVAN "THE KING" SAKE - (I WANT TO BE YOUR) SERVANT'; //STRING declaration with strings
echo ucwords(strtolower($title1)); // here strtolower will convert $title to all small letters
// ucwords now will provides output like this:
// Pavan "the King" Sake - (i Want To Be Your) Servant
// so the below program makes it change to correct format i mean the king should be The King
?>
<?php
function my_ucwords($string1)
{
$noletters1='"([/'; //add some more elements if u like to add
for($i=0; $i<strlen($noletters1); $i++) //loop to access all the characters which is listed in $noletters1 variable
$string1 = str_replace($noletters1[$i], $noletters1[$i].' ', $string1);
$string1=ucwords($string1); //here ucwords() function will do the task of completing the first character of the words into capital letters
for($i=0; $i<strlen($noletters1); $i++)
$string1 = str_replace($noletters1[$i].' ', $noletters1[$i], $string1);
return $string1; //it will return the string value from the function.
}
echo '</br> </br>';
$title1 = 'PAVAN "THE KING" SAKE - (I WANT TO BE YOUR) SERVANT';
echo my_ucwords(strtolower($title1));
?>
Output:
Example #6
This is the example of the code below which will convert all your words into small letters except the first letter. They will be a capital letter. Here ucfirst() function is used. It is also a part of ucwords() function.
Code:
<?php
$text1 = "What Buddy ? No 'parameters',shit! \"happening\" here.this solves many problems now???";
preg_match_all('/[A-Za-z]+|[^A-Za-z]+/', $text1, $data1);
for ($i = 0; $i < count($data1[0]); $i++) {
$data1[0][$i] = ucfirst($data1[0][$i]);
}
$text1 = implode("", $data1[0]);
print $text1;
?>
Output:
The above program’s output contains the same text which is under $text1 variable but just the first characters of the words which are listed in the variable will be changed to the capital letters remaining ones will remain as small letters.
Recommended Articles
This has been a guide to PHP ucwords(). Here we discuss syntax, parameters, and examples of PHP ucwords(). you may also have a look at the following articles to learn more –