Rumah > Artikel > pembangunan bahagian belakang > PHP ucwords()
Ucwords() dalam PHP ialah fungsi terbina dalam. Ia berguna untuk menukar aksara pertama dan terpenting rentetan kepada huruf besar. ucwords() hanya menyokong versi PHP 4 & ke atas. Fungsi ucwords() mengambil rentetan sebagai nilai input dan ia mengeluarkan rentetan dengan menukar huruf/karakter pertama rentetan menjadi huruf besar. Selain daripada ini setiap watak lain tetap sama seperti masa sebelumnya. Fungsi ucwords() dalam PHP mengembalikan ditukar kepada rentetan dengan menukar huruf pertama semua perkataan kepada huruf besar.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Ucwords($string, $separator)
Sintaks ucwords() hanya menerima dua parameter.
Parameter Sintaks:
1. $string( string mandatory ): Di antara kurungan fungsi ucwords(), input rentetan diperlukan. Ia adalah satu kemestian dan wajib kepada pengisytiharan fungsi ini untuk menentukan rentetan yang hendak ditukar.
2. $separator ( Parameter Pilihan ): Separator ialah parameter pilihan fungsi ucwords(). Ia mengandungi aksara pemisah perkataan. Pemisah yang digunakan dalam rentetan input untuk perkataan. Aksara yang disenaraikan yang disenaraikan di bawah adalah secara lalai:
Parameter $Separator ditambahkan dalam versi 5.5.16, 5.4.32 PHP.
Usword PHP berfungsi apabila teks/perkataan mengandungi jenis huruf/aksara bercampur di dalam perkataan. Hanya aksara pertama perkataan/ aksara pertama semua perkataan yang terdapat dalam ayat akan ditukar kepada huruf besar. Ia berfungsi menggunakan nilai rentetan yang mengandungi perkataan/perkataan dan ia juga menggunakan satu nilai pemisah/pembatas tetapi ia adalah pilihan. Tiada isu dengan pembolehubah pemisah.
Diberikan di bawah adalah contoh
Cara program asas berfungsi dengan menggunakan fungsi PHP ucwords().
Kod:
<?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:
Kod:
<?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:
Di sini dalam output $result_string1 menyediakan keseluruhan rentetan yang sama kecuali dengan perubahan dalam huruf besar pertama tetapi selepas menggunakan pemisah "|" parameter, $result_string2 akan memberikan output seperti yang kami perlukan – setiap huruf dalam rentetan walaupun selepas pemisah akan menukar aksara pertamanya menjadi huruf besar.
Contoh di sini ialah menggunakan fungsi ucwords() pada tatasusunan yang mempunyai senarai nama/rentetan dengan mengalih keluar pembatas/parameter “–“ dan “”.
Kod:
<?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:
Ini adalah salah satu contoh program fungsi ucwords.
Program ini mempunyai ciri seperti:
Kod:
<?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:
Parameter utama yang terlibat dalam program di atas ialah $string1, $delimeter1, $delimiters, encoding. Delimeter/Delimeter adalah parameter yang menjadi pilihan tetapi diperlukan Dalam pembangunan. Rentetan ialah parameter yang hendak ditukar. Parameter pengekodan adalah untuk mengetahui pengekodan aksara. Nilai/nilai pengekodan aksara dalaman akan digunakan jika parameter tidak ditinggalkan.
Kod:
<?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:
Ini adalah contoh kod di bawah yang akan menukar semua perkataan anda kepada huruf kecil kecuali huruf pertama. Mereka akan menjadi huruf besar. Di sini fungsi ucfirst() digunakan. Ia juga merupakan sebahagian daripada fungsi ucwords().
Kod:
<?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:
Output program di atas mengandungi teks yang sama iaitu di bawah $text1 pembolehubah tetapi hanya aksara pertama perkataan yang disenaraikan dalam pembolehubah akan ditukar kepada huruf besar yang tinggal akan kekal sebagai huruf kecil.
Atas ialah kandungan terperinci PHP ucwords(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!