Maison >développement back-end >tutoriel php >PHP ucwords()
Ucwords() en PHP est une fonction intégrée. Il est utile de convertir le premier caractère d’une chaîne en majuscule. ucwords() ne prend en charge que les versions PHP 4 et supérieures. La fonction ucwords() prend une chaîne comme valeur d'entrée et affiche la chaîne en changeant la première lettre/caractère de la chaîne en majuscule. En dehors de cela, tous les autres personnages restent les mêmes que la fois précédente. La fonction ucwords() en PHP renvoie la conversion en chaîne en changeant la première lettre de tous les mots en majuscule.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Ucwords($string, $separator)
La syntaxe ucwords() n'accepte que deux paramètres.
Paramètres de la syntaxe :
1. $string( string obligatoire ) : Entre les parenthèses de la fonction ucwords(), la saisie d'une chaîne est requise. C'est un must et obligatoire à cette déclaration de fonction afin de préciser la chaîne qui doit être convertie.
2. $separator (Paramètre facultatif) : Separator est le paramètre facultatif de la fonction ucwords(). Il contient des caractères séparateurs de mots. Le séparateur utilisé dans la chaîne d'entrée pour les mots. Les caractères répertoriés ci-dessous sont par défaut :
Paramètre $Separator ajouté dans les versions 5.5.16, 5.4.32 de PHP.
PHP ucwords fonctionne lorsque le texte/les mots contiennent des types mixtes de lettres/caractères à l'intérieur des mots. Seul le premier caractère du mot/les premiers caractères de tous les mots de la phrase seront convertis en lettres majuscules. Il fonctionne en utilisant une valeur de chaîne qui contient un ou plusieurs mots et il utilise également une valeur de séparateur/délimiteur, mais il est facultatif. Aucun problème avec la variable séparateur.
Vous trouverez ci-dessous les exemples
Comment fonctionne le programme de base en utilisant la fonction PHP ucwords().
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; ?>
Sortie :
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; ?>
Sortie :
Ici, dans la sortie, $result_string1 fournit la même chaîne entière sauf avec le changement de la première lettre majuscule mais après avoir utilisé le séparateur « | » paramètre, $result_string2 fournira la sortie selon nos besoins – chaque lettre de la chaîne, même après le séparateur, changera son premier caractère en majuscule.
Cet exemple ici consiste à utiliser la fonction ucwords() sur des tableaux qui ont une liste de noms/chaînes en supprimant les délimiteurs/paramètres « – » et « ».
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 */ ?>
Sortie :
Ceci est l'un des exemples de programmes de la fonction ucwords.
Ce programme a des fonctionnalités telles que :
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'), "-'"); ?>
Sortie :
Les principaux paramètres impliqués dans le programme ci-dessus sont $string1, $delimeter1, $delimiters, encoding. Les délimiteurs/délimiteurs sont les paramètres qui sont une option mais nécessaires dans le développement. La chaîne est le paramètre à convertir. Le paramètre d'encodage consiste à connaître l'encodage des caractères. La/les valeur(s) de codage des caractères internes seront utilisées si le paramètre n'est pas omis.
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)); ?>
Sortie :
Voici l'exemple du code ci-dessous qui convertira tous vos mots en minuscules sauf la première lettre. Ce seront une lettre majuscule. Ici, la fonction ucfirst() est utilisée. Il fait également partie de la fonction ucwords().
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; ?>
Sortie :
La sortie du programme ci-dessus contient le même texte qui se trouve sous la variable $text1, mais seuls les premiers caractères des mots répertoriés dans la variable seront remplacés par les lettres majuscules, les autres resteront en minuscules.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!