Ver índice
Cadenas alfanuméricas (I)

        Ocultar índice  

   Índice de contenidos
   Instalación en Windows
   Instalación en Ubuntu
   Servidores seguros
   Páginas dinámicas
   Sintaxis básica
   Operaciones
   Arrays
   Formatos de presentación
   Operadores
   Bucles
   Extraer y ord. información
   Funciones
   Ficheros externos
   Imágenes dinámicas
   Gestión de directorios
   Cookies y sesiones
   Clases y objetos
   Ficheros en formato PDF
   Bases de datos MySQL
   PHP y XML
   PDO - Bases SQLite / MySQL
   MySQL a traves de misqli
   Algo de JavaScript y AJAX


Funciones sobre cadenas

Algunas de las funciones que permiten manejar los formatos de las cadenas de caracteres son estas:

chr(n)

Devuelve el carácter cuyo código ASCII es n.

ord(cadena)

Devuelve el código ASCII del primero de los caracteres de la cadena.

strlen(cadena)

Devuelve la longitud (número de caracteres) de la cadena. Los espacios son considerados como un caracter más.

strtolower(cadena)

Cambia todos los caracteres de la cadena a minúsculas.

strtoupper(cadena)

Convierte en mayúsculas todos los caracteres de la cadena.

ucwords(cadena)

Convierte a mayúsculas la primera letra de cada una de las palabras de la cadena.

ucfirst(cadena)

Convierte a mayúsculas la primera letra de la cadena y pone en minúsculas todas las demás.

ltrim(cadena)

Elimina todos los espacios que pudiera haber al principio de la cadena.

rtrim(cadena)

Elimina todos los espacios que existieran al final de la cadena.

trim(cadena)

Elimina los espacios tanto al principio como al final de la cadena.

chop(cadena)

Elimina los espacios al final de la cadena. Es idéntica a rtrim.

  ¡Cuidado!  

Tanto trim, como ltrim y rtrim eliminan, además de los espacios, las secuencias: \n, \r, \t, \v y \0; llamadas también caracteres protegidos.

substr(cadena,n)

Si el valor de n es positivo extrae todos los caracteres de la cadena a partir del que ocupa la posición enésima a contar desde la izquierda.

Si el valor de n es negativo serán extraídos los n últimos caracteres contenidos en la cadena.

substr(cadena,n,m)

Si n y m son positivos extrae m caracteres a partir del que ocupa la posición enésima, de izquierda a derecha.

Si n es negativo y m es positivo extrae m (contados de izquierda a derecha) a partir del que ocupa la posición enésima contada de derecha a izquierda.

Si n es positivo y m es negativo extrae la cadena comprendida entre el enésimo carácter (contados de izquierda a derecha) hasta el emésimo, contando en este caso de derecha a izquierda

Si n es negativo y m también es negativo extrae la porción de cadena comprendida entre el emésimo y el enésimo caracteres contando, en ambos casos, de derecha a izquierda. Si el valor absoluto de n es menor que el de m devuelve una cadena vacía.

strrev(cadena)

Devuelve la cadena invertida

str_repeat(cadena, n)

Devuelve la cadena repetida tantas veces como indica n.

str_pad(cadena, n, relleno, tipo)

Añade a la cadena los caracteres especificados en relleno (uno o varios, escritos entre comillas) hasta que alcance la longitud que indica n (un número)

El parámetro tipo puede tomar uno de estos tres valores (sin comillas): STR_PAD_BOTH (rellena por ambos lados) STR_PAD_RIGHT (rellena por la derecha) STR_PAD_LEFT (rellena por la izquierda).

Si se omite la cadena de relleno utilizará espacios y si se omite el tipo rellenará por la derecha

str_replace(busca, sustituto, cadena)

Busca en la cadena las subcadenas de texto cuyo contenido es igual a busca, las reemplaza por el valor sustituto

substr_replace(cadena, sustituto, comienzo, longitud)

Sustituye por sustituto un número de caracteres igual a longitud contados a partir del que ocupa la posición comienzo dentro de la cadena original. Cuando el valor de comienzo es negativo contará de derecha a izquierda para determinar el lugar de comienzo de la sustitución. Si el valor de longitud es negativo no sustituirá al final de la cadena un número de carácteres igual al valor absoluto de longitud.

Estos son algunos ejemplos de aplicación de las funciones de manejo de cadenas

Código ASCII y viceversa
Función Ejemplo Resultado
 chr(código ASCII)  chr(97) a
 ord("cadena")  ord("abadesa") 97
Longitudes y conversiones mayúsculas/minúsculas
Función Ejemplo Resultado
 strlen("cadena")  strlen("Mide la longitud de esta cadena") 31
 strtolower("cadena")  strtolower("CONVIERTE A MINÚSCULAS") convierte a minÚsculas
 strtoupper("cadena")  strtoupper("pasa a mayúsculas") PASA A MAYúSCULAS
 ucwords("cadena")  ucwords("todas empiezan por mayúscula") Todas Empiezan Por Mayúscula
 ucfirst("cadena")  ucfirst("mayúscula al principio") Mayúscula al principio
Eliminar espacios
Función Ejemplo Resultado
 ltrim("cadena")  ltrim("\n \nEliminar espacios") Eliminar espacios
 rtrim("cadena")  rtrim("Eliminar espacios\n \n") Eliminar espacios
 trim("cadena")  trim("\n \nEliminar espacios\n \n") Eliminar espacios
 chop("cadena")  chop("\n \nEliminar espacios\n \n") Eliminar espacios
Extraer porciones de una cadena
Función Ejemplo Resultado
 substr("cadena",n)  substr("Extrae caracteres",3) rae caracteres
 substr("cadena",n)  substr("Extrae caracteres",0) Extrae caracteres
 substr("cadena",n)  substr("Extrae caracteres",-5) teres
 substr("cadena",n)  substr("Extrae caracteres",-2) es
 substr("cadena",n,m)  substr("Extrae caracteres",2,6) trae c
 substr("cadena",n,m)  substr("Extrae caracteres",0,8) Extrae c
 substr("cadena",n,m)  substr("Extrae caracteres",2,-3) trae caracte
 substr("cadena",n,m)  substr("Extrae caracteres",-7,5) acter
 substr("cadena",n,m)  substr("Extrae caracteres",-7,-5) ac
 substr("cadena",n,m)  substr("Extrae caracteres",-5,-7)  
Modificaciones de cadenas
Función Ejemplo Resultado
 strrev("cadena")  strrev("Invierte la cadena") anedac al etreivnI
 str_repeat("cadena",n)  str_repeat("Rep",5) RepRepRepRepRep
 str_pad("cadena",n,"Relleno",Tipo)  str_pad("Pepe",10,"*",STR_PAD_BOTH) ***Pepe***
 str_pad("cadena",n,"Relleno",Tipo)  str_pad("Pepe",10,"*",STR_PAD_LEFT) ******Pepe
 str_pad("cadena",n,"Relleno",Tipo)  str_pad("Pepe",10,"*",STR_PAD_RIGHT) Pepe******
 str_pad("cadena",n,"Relleno",Tipo)  str_pad("Pepe",10,"*") Pepe******
 str_replace ("lo que dice",lo que dira,"Cadena")  str_replace("e","a","Pepe") Papa
 str_replace ("lo que dice",lo que dira,"Cadena")  str_replace("pe","pa","Pepepe") Pepapa
 str_replace ("lo que dice",lo que dira,"Cadena")  str_replace("Pepe","Luis","Pepe") Luis
 substr_replace ("Cadena",lo que dira,n,m)  substr_replace("Esta es una cadena es de prueba","*",5,2) Esta * una cadena es de prueba
 substr_replace ("Cadena",lo que dira,n,m)  substr_replace("Esta es una cadena es de prueba","*",5,-2) Esta *ba
 substr_replace ("Cadena",lo que dira,n,m)  substr_replace("Esta es una cadena es de prueba","*",-5,2) Esta es una cadena es de p*eba
 substr_replace ("Cadena",lo que dira,n,m)  substr_replace("Esta es una cadena es de prueba","*",-5,-2) Esta es una cadena es de p*ba

Formatos en cadenas

La funcion prinf tiene un comportamiento idéntico al comentado en la página anterior.

printf(cadena de formato,variable1,variable2,..)
Cadena de formato
Dentro de la cadena de formatos deben repetirse tantos formatos como variables se pretenda manejar

"%[rell1][alin1][anc1][prec1][tipo1][sepa1]%[rell1][alin1][anc1][prec1][tipo1][sepa1]"
 
    Hemos de mencionar aquí los separadores ya que no fueron mencionados en la página anterior

    Se puede introducir una cadena de separación al final de una cadena de formato que puede hacer, entre otras, función de separación entre dos cadenas.
Por ejemplo, printf("%'*15.2f Euros",1475.875) nos devolvería:

                           ********1475.88 Euros

    La función printf() permite presentar varios valores o variables con distintos formatos utilizando la sintaxis que se indica más arriba.

    Este ejemplo :

  printf("%'*15.2f Euros=%'*18.0f Pesetas",1475.875,1475.875*166.386)

devuelve como resultado:

    ********1475.88 Euros=************245565 Pesetas

Existe otra función PHP con características muy similares a la anterior. Se trata de sprintf().

La sintaxis es idéntica sprintf (cadena de formato, variable1,variable2, ...) y su única diferencia con printf es que, mientras que printf() imprime las variables utilizando el formato indicado, sprintf() puede guardar en una nueva variable la cadena resultante de la aplicación del formato.