首页  >  文章  >  后端开发  >  PHP ucwords()

PHP ucwords()

王林
王林原创
2024-08-29 12:48:32895浏览

PHP 中的 ucwords() 是一个内置函数。将字符串的第一个也是最重要的字符转换为大写是很有帮助的。 ucwords() 仅支持 PHP 4 及以上版本。 ucwords() 函数将字符串作为输入值,并通过将字符串的第一个字母/字符更改为大写来输出字符串。除此之外,其他角色都与上次相同。 PHP 中的 ucwords() 函数通过将所有单词的首字母更改为大写返回转换为字符串。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法

Ucwords($string, $separator)

ucwords() 语法仅接受两个参数。

语法参数:

1。 $string( string required ): ucwords() 函数的括号之间,需要输入字符串。为了指定要转换的字符串,此函数声明是必须的。

2。 $separator ( 可选参数 ): Separator 是 ucwords() 函数的可选参数。它包含单词分隔符。在单词的输入字符串中使用的分隔符。下面列出的字符是默认的:

  • t 代表选项卡
  • 空间
  • r 表示回车
  • n 换行
  • v 表示垂直制表符
  • f 用于换页

PHP 5.5.16、5.4.32 版本中添加了 $Separator 参数。

HPHP ucwords() 如何工作?

当文本/单词在单词中包含混合类型的字母/字符时,PHP ucwords 可以工作。只有单词的第一个字符/句子中所有单词的第一个字符才会转换为大写字母。它使用包含一个或多个单词的字符串值,并且还使用一个分隔符/定界符值,但它是可选的。分隔符变量没有问题。

PHP ucwords() 示例

以下是示例

示例#1

基本程序如何使用 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 ucwords()

示例#2

代码:

<?php
$input_string = "guys|good|night!|everyone.";
$result_string1 = ucwords($input_string);
echo $result_string1. "</br>";
$result_string2 = ucwords($input_string, "|");
echo $result_string2;
?>

输出:

PHP ucwords()

这里的输出 $result_string1 提供了相同的整个字符串,除了第一个大写字母发生变化,但在使用分隔符“|”之后参数, $result_string2 将根据我们的需要提供输出 - 字符串中的每个字母,即使在分隔符之后,也会将其第一个字符更改为大写字母。

示例#3

这里的示例是在数组上使用 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
*/
?>

输出:

PHP ucwords()

示例#4

这是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 ucwords()

示例#5

代码:

<?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));
?>

输出:

PHP ucwords()

示例#6

这是下面的代码示例,它将把除第一个字母之外的所有单词转换为小写字母。它们将是大写字母。这里使用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;
?>

输出:

PHP ucwords()

上述程序的输出包含 $text1 变量下的相同文本,但只有变量中列出的单词的第一个字符将更改为大写字母,其余的将保留为小写字母。

以上是PHP ucwords()的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:PHP ucfirst()下一篇:PHP gettype()