PHP 中的 ucwords() 是一个内置函数。将字符串的第一个也是最重要的字符转换为大写是很有帮助的。 ucwords() 仅支持 PHP 4 及以上版本。 ucwords() 函数将字符串作为输入值,并通过将字符串的第一个字母/字符更改为大写来输出字符串。除此之外,其他角色都与上次相同。 PHP 中的 ucwords() 函数通过将所有单词的首字母更改为大写返回转换为字符串。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
Ucwords($string, $separator)
ucwords() 语法仅接受两个参数。
语法参数:
1。 $string( string required ): ucwords() 函数的括号之间,需要输入字符串。为了指定要转换的字符串,此函数声明是必须的。
2。 $separator ( 可选参数 ): Separator 是 ucwords() 函数的可选参数。它包含单词分隔符。在单词的输入字符串中使用的分隔符。下面列出的字符是默认的:
PHP 5.5.16、5.4.32 版本中添加了 $Separator 参数。
当文本/单词在单词中包含混合类型的字母/字符时,PHP ucwords 可以工作。只有单词的第一个字符/句子中所有单词的第一个字符才会转换为大写字母。它使用包含一个或多个单词的字符串值,并且还使用一个分隔符/定界符值,但它是可选的。分隔符变量没有问题。
以下是示例
基本程序如何使用 ucwords() PHP 函数工作。
代码:
<?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; ?>
输出:
代码:
<?php $input_string = "guys|good|night!|everyone."; $result_string1 = ucwords($input_string); echo $result_string1. "</br>"; $result_string2 = ucwords($input_string, "|"); echo $result_string2; ?>
输出:
这里的输出 $result_string1 提供了相同的整个字符串,除了第一个大写字母发生变化,但在使用分隔符“|”之后参数, $result_string2 将根据我们的需要提供输出 - 字符串中的每个字母,即使在分隔符之后,也会将其第一个字符更改为大写字母。
这里的示例是在数组上使用 ucwords() 函数,该函数通过删除分隔符/参数“–”和“”来包含名称/字符串列表。
代码:
<?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 */ ?>
输出:
这是ucwords函数的示例程序之一。
该程序具有以下功能:
代码:
<?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'), "-'"); ?>
输出:
上述程序中涉及到的主要参数有$string1、$delimeter1、$delimiters、encoding。 Delimeter/Delimeter 是一个选项,但在开发中需要的参数。字符串是要转换的参数。编码参数是为了知道字符编码。如果参数不省略,将使用内部字符编码值。
代码:
<?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)); ?>
输出:
这是下面的代码示例,它将把除第一个字母之外的所有单词转换为小写字母。它们将是大写字母。这里使用ucfirst()函数。它也是 ucwords() 函数的一部分。
代码:
<?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; ?>
输出:
上述程序的输出包含 $text1 变量下的相同文本,但只有变量中列出的单词的第一个字符将更改为大写字母,其余的将保留为小写字母。
以上是PHP ucwords()的详细内容。更多信息请关注PHP中文网其他相关文章!