PHP 7.2.0 Release Candidate 2 Released

mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

mb_strtoupperTrasforma una stringa in lettere maiuscole

Descrizione

string mb_strtoupper ( string $str [, string $encoding = mb_internal_encoding() ] )

Restituisce string con tutti i caratteri alfabetici convertiti in maiuscolo.

Elenco dei parametri

str

La string da convertire in maiuscolo.

encoding

Il parametro encoding è la codifica dei caratteri. Se è omesso, verrà utilizzata la codifica interna.

Valori restituiti

str con tutti i caratteri alfabetici convertiti in maiuscolo.

Unicode

Per maggiori informazioni sulle proprietà Unicode, vedere » http://www.unicode.org/unicode/reports/tr21/.

A differenza di strtoupper(), cosa è 'alfabetico' è determinato dalle proprietà dei caratteri Unicode. In questo modo il comportamento di questa funzione non viene influenzato dalle impostazioni locali e può convertire tutti i caratteri che hanno proprietà "alfabetica", come ad esempio a-umlaut (ä).

Esempi

Example #1 Esempio di mb_strtoupper()

<?php
$str 
"Mary Had A Little Lamb and She LOVED It So";
$str mb_strtoupper($str);
echo 
$str// Stampa MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

Example #2 Esempio di mb_strtoupper() con testo non-Latin UTF-8

<?php
$str 
"Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str mb_strtoupper($str'UTF-8');
echo 
$str// Stampa ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
?>

Vedere anche:

add a note add a note

User Contributed Notes 2 notes

up
6
tomasz at trejderowski dot pl
6 years ago
Please note, that in many cases, forcing UTF-8 encoding with second parameter is necessary. PHP documentation states that if this parameter is omitted, the internal character encoding value will be used. But in my case it turned out to be not true. Even though I have all my pages encoded in UTF-8 and my DB connection set to force UTF-8 encoding, comparison of user-input and DB-retrieved data, which is using mb_strtoupper, did not work until I forced encoding.
up
2
Stefan W
4 years ago
mb_strtoupper() will not convert the German "ß" character into its (relatively new) uppercase form ("ẞ").
mb_strtolower() will, however, convert the uppercase form into a lowercase "ß". (tested with PHP 5.5.0)
"SS" is still the most common uppercase presentation of "ß". If you want this, you'll have to do it manually:

<?php
mb_internal_encoding
("UTF-8");
echo
mb_strtoupper("Maß\n");  // "MAß"
echo mb_strtolower("MAẞ\n");  // "maß"
echo mb_strtoupper(str_replace("ß", "SS", "Maß\n"));  // "MASS"
?>
To Top