Funciones de string (2 de 2) PHP 5

Selección de subcadenas
La función substr() nos permite seleccionar un conjunto de caracteres de una cadena, esta función no altera el string original. Puede tomar varios parámetros de entrada:

  • substr( cadena, índice): Cadena es el conjunto de caracteres que vamos a cortar, e índice es la posición desde la cual se cortará nuestra cadena hasta el final.
  • substr( cadena, índice, número): Utilizando este tercer parámetro conseguimos cortar la cadena desde la posición indicada por índice, tantos caracteres como indique número.
Por ejemplo:
<?php
 $cadena = "Esto es una cadena muy extensa en PHP";
 //Devuelve la cadena completa
 echo substr($cadena, 0) . "<br>";
 //Desde el caracter 12 hasta el final
 echo substr($cadena, 12) . "<br>";
 //Desde el caracter 12 empezando desde la derecha hasta el final
 echo substr($cadena, -12) . "<br>";
 //7 caracteres desde el caracter 14
 echo substr($cadena, 14, 7) . "<br>";
 //7 caracteres desde el caracter 14 empezando desde la derecha
 echo substr($cadena, -14, 7) . "<br>";
 //Desde el caracter 14 hasta el 7 empezando desde la derecha
 echo substr($cadena, 14, -7) . "<br>";
 //Desde el caracter 14 hasta el 7 ambos contando desde la derecha
 echo substr($cadena, -14, -7) . "<br>";
?>

A continuación podemos ver el resultado del ejemplo anterior:

Salida ejemplo PHP
Salida función substr()
Como hemos visto en el ejemplo, también podemos utilizar número negativos.

Funciones de limpieza de cadenas
Este tipo de funciones, como habrás deducido por el título, sirven para eliminar espacios en blanco al principio de una cadena, al final o tanto al principio como al final de la misma, esta funciones son respectivamente trim(), chop() y ltrim(). A continuación podréis ver un ejemplo de su utilizacion:
<?php
 $cadena = " Esto es una cadena con espacios en blanco.  ";
 
 echo $cadena. " Tama&ntilde;o:</b> " .strlen($cadena). "<br>";
 echo ltrim($cadena). " Tama&ntilde;o: " .strlen(ltrim($cadena)). "<br>";
 echo chop($cadena). " Tama&ntilde;o: " .strlen(chop($cadena)). "<br>";
 echo trim($cadena). " Tama&ntilde;o: " .strlen(trim($cadena)). "<br>";
?>
Este ejemplo imprime cuatro veces $cadena, la primera vez es la cadena original, la segunda con la función ltrim(), la tercera con chop(), y la cuarta con la función trim(), junto a la cadena aparece el tamaño de la misma en caracteres. La salida en el navegador de este script es:

Salida ejemplo PHP
Salida funciones ltrim(), chop() y trim()
Sustitución de cadenas
Para ello utilizaremos la función str_replace() que recibe tres parámetros, el primero es el conjunto de caracteres a buscar, el segundo el grupo de caracteres que debe sustituirse por el anterior, y el tercero es la cadena donde realizaremos la acción.
<?php
 $cadena = "El autor del libro es Federico";
 
 $cadena = str_replace("Federico", "Antonio", $cadena);
 
 echo $cadena;
?>
Si en la cadena existieran más ocurrencias para el conjunto a buscar, todas serán sustituidas por el segundo parámetro.

Funciones de mayúsculas y minúsculas
Las funciones strtolower() y strtoupper() devuelven las cadenas que se le pasan como argumento completamente en minúscula o mayúscula respectivamente. Si en cambio necesitamos que unicamente la primera letra de la cadena esté en mayúscula o que las primeras letras de todas las palabras estén también en mayúsculas, necesitaremos las funciones ucfirst() y ucwords(), como vemos en el ejemplo:
<?php
 $cadena = "en un lugar de la Mancha, de cuyo nombre no quiero acordarme...";
 
 echo "<b>Cadena original:</b> " . $cadena . "<br>";
 echo strtolower($cadena) . "<br>";
 echo strtoupper($cadena) . "<br>";
 echo ucfirst($cadena) . "<br>";
 echo ucwords($cadena) . "<br>";
?>
Y la salida en el navegador de este ejemplo es:

Salida ejemplo PHP
Salida funciones strtolower(), strtoupper(), ucfirst() y ucwords()
Y aquí finalizamos la segunda parte de las entradas Funciones de string, la siguiente entrada irá sobre expresiones regulares.

Comentarios

Entradas populares de este blog

Calcular factorial de un numero en JAVA

Ordenar cualquier array con SORT en JAVA

Modificadores de acceso (public, protected y private) JAVA