Ce face mb_convert_case
mb_convert_case face trei tipuri de transformări, alese prin $mode: MB_CASE_UPPER (toate majuscule), MB_CASE_LOWER (toate mici) și MB_CASE_TITLE (prima literă a fiecărui cuvânt mare, restul mici).
MB_CASE_TITLE este echivalentul corect al lui ucwords(strtolower(...)) pentru texte în română, inclusiv pentru nume compuse cu cratimă (Ana-Maria). Din PHP 7.3 există și MB_CASE_FOLD, pentru comparații fără majuscule.
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul transformat. |
$mode |
MB_CASE_UPPER, MB_CASE_LOWER, MB_CASE_TITLE sau MB_CASE_FOLD. |
$encoding |
Opțional. Codarea textului. |
Ce returnează
Textul transformat.
Exemple
Exemplul 1: Cele trei moduri
<?php
$text = "ștefan cel MARE și sfânt";
echo mb_convert_case($text, MB_CASE_UPPER) . "\n";
echo mb_convert_case($text, MB_CASE_LOWER) . "\n";
echo mb_convert_case($text, MB_CASE_TITLE);
Rezultat
ȘTEFAN CEL MARE ȘI SFÂNT
ștefan cel mare și sfânt
Ștefan Cel Mare Și Sfânt
Exemplul 2: Normalizarea numelor introduse în formular
<?php
$nume = ["aNA-maria ionescu", "ȘERBAN ȚEPEȘ", "irina popa"];
foreach ($nume as $n) {
echo mb_convert_case(preg_replace('/\s+/', " ", trim($n)), MB_CASE_TITLE) . "\n";
}
Rezultat
Ana-Maria Ionescu
Șerban Țepeș
Irina Popa
Greșeli frecvente
- Aplici
MB_CASE_TITLEpe titluri de articole și cuvintele mici („de”, „și”, „în”) primesc și ele majusculă. Pentru titluri foloseștemb_strtoupperdoar pe prima literă.
Comenzi înrudite
mb_strtoupper / mb_strtolower: Transformă un text în majuscule (mb_strtoupper) sau litere mici (mb_strtolower), inclusiv literele cu diacritice.ucfirst / ucwords: Face prima literă a textului majusculă (ucfirst) sau prima literă a fiecărui cuvânt (ucwords).strtolower / strtoupper: Transformă toate literele unui text în litere mici (strtolower) sau mari (strtoupper).