mb_convert_case în PHP

Schimbă literele unui text în majuscule, litere mici sau „Prima Literă Mare” la fiecare cuvânt, cu diacritice.

Sintaxă
mb_convert_case(string $string, int $mode, ?string $encoding = null): string

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_TITLE pe titluri de articole și cuvintele mici („de”, „și”, „în”) primesc și ele majusculă. Pentru titluri folosește mb_strtoupper doar 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).