Laravel Live Japan

mb_ucfirst

(PHP 8 >= 8.4.0)

mb_ucfirstConvierte una string con la primera letra en mayúscula

Descripción

mb_ucfirst(string $string, ?string $encoding = null): string

Realiza una operación ucfirst() segura para multi-octetos, y devuelve una string con la primera letra de string en mayúscula.

Parámetros

string
La string de entrada.
encoding
La codificación de caracteres.

Valores devueltos

Devuelve la string resultante.

Notas

Nota:

A diferencia de las funciones estándar de conversión de mayúsculas y minúsculas como strtolower() y strtoupper(), la conversión de mayúsculas y minúsculas se realiza en función de las propiedades de los caracteres Unicode. Por lo tanto, el comportamiento de esta función no se ve afectado por la configuración regional, y puede convertir todos los caracteres con la propiedad 'alfabético', como la diéresis sobre la "a" (ä).

Para obtener más información sobre las propiedades Unicode, consulte » http://www.unicode.org/reports/tr21/.

Ver también

  • mb_lcfirst() - Convierte la primera letra de un string a minúscula
  • mb_convert_case() - Realiza una conversión a mayúsculas/minúsculas de un string
  • ucfirst() - Pone en mayúscula el primer carácter
add a note

User Contributed Notes 2 notes

up
0
empiredesrtroyer12 at gmail dot com
14 days ago
For non-english words enconded in utf-8 works mb_convert_case  with MB_CASE_TITLE option

mb_convert_case(mb_substr($str, 0, 1), MB_CASE_TITLE) . mb_substr($str, 1);

For a single word 

echo mb_convert_case('çağla', MB_CASE_TITLE);

https://stackoverflow.com/questions/25729900/ucfirst-doesnt-work-on-non-english-characters
up
-1
hans at loltek dot net
1 year ago
polyfill:

<?php
if(PHP_VERSION_ID < 80400) {
function mb_ucfirst(string $str, string $encoding = null): string
{
    if ($encoding === null) {
        $encoding = mb_internal_encoding();
    }
    return mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding) . mb_substr($str, 1, null, $encoding);
}

}
?>

if you wonder why i bother with mb_internal_encoding: prior to php7, $encoding was not nullable. if your polyfill don't need php5.6 support, you can drop it.
To Top