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.
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
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:
$Separator parameter added in 5.5.16, 5.4.32 versions of PHP.
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.
Given below are the examples
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:
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.
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:
This is one of the sample programs of ucwords function.
This program has features like:
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.
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:
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.
The above is the detailed content of PHP ucwords(). For more information, please follow other related articles on the PHP Chinese website!