ホームページ >バックエンド開発 >PHPチュートリアル >PHP ucwords()
PHP の Ucwords() は組み込み関数です。文字列の最初の文字を大文字に変換すると便利です。 ucwords() は PHP 4 以降のバージョンのみをサポートします。 ucwords() 関数は文字列を入力値として受け取り、文字列の最初の文字を大文字に変更して文字列を出力します。これ以外の他のキャラクターは前回と同じままです。 PHP の ucwords() 関数は、すべての単語の最初の文字を大文字に変更することで文字列に変換された値を返します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
Ucwords($string, $separator)
ucwords() 構文は 2 つのパラメーターのみを受け入れます。
構文のパラメータ:
1. $string( string required ): ucwords() 関数の括弧内には文字列の入力が必要です。変換される文字列を指定するには、この関数宣言に必須かつ必須です。
2. $separator (オプションのパラメータ): セパレータは、ucwords() 関数のオプションのパラメータです。単語の区切り文字が含まれています。単語の入力文字列で使用される区切り文字。以下にリストされている文字は、デフォルトでは次のとおりです:
$Separator パラメーターは PHP の 5.5.16、5.4.32 バージョンで追加されました。
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 $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 関数のサンプルプログラムの 1 つです。
このプログラムには次のような機能があります:
コード:
<?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 です。区切り文字/区切り文字はオプションですが、開発では必要なパラメータです。文字列は変換されるパラメータです。エンコーディングパラメータは文字エンコーディングを知るためのものです。パラメータが省略されない場合、内部文字エンコード値が使用されます。
コード:
<?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 中国語 Web サイトの他の関連記事を参照してください。