PHP:¿Cómo puedo pasar un texto a mayúsculas/minúsculas?

De Foros del Web

En el manual nos dirá que usemos strtoupper()/strtolower():

Código PHP:

<? 
echo strtoupper("hola"); # HOLA 
echo strtoupper("HOLA"); # hola 
?> 

Sin embargo:

Código PHP:

<? 
echo strtoupper("hola tío"); # HOLA TíO 
echo strtolower("HOLA TÍO"); # hola tÍo 
?> 

¿Cómo cambiamos la caja de los "carácteres extraños"?

Usando strtr()

Código PHP:

<?php 
echo strtoupper("hola tío"); # HOLA TíO 
echo strtolower("hola TÍO"); # hola tÍo 
 
echo strtr(strtoupper("hola tío"), "àáâãäåæçèéêëìíîïðñòóôõöøùüú", "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÜÚ"); # HOLA TÍO 
echo strtr(strtolower("HOLA TÍO"), "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÜÚ", "àáâãäåæçèéêëìíîïðñòóôõöøùüú"); # hola tío 
 
?> 

Si sólo queremos poner la primera letra en mayúsculas, usaremos ucfirst():

Código PHP:

<? 
echo ucfirst(strtolower("HOLA TÍO")); # Hola tÍo 
echo ucfirst(strtr(strtolower("HOLA TÍO"), "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÜÚ", "àáâãäåæçèéêëìíîïðñòóôõöøùüú")); # Hola tío 
?> 

--Cain 09 Abr 2003

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales