Lenguaje PHP

Modificar cadenas con SUBSTR() de PHP

Ejemplos de función SUBSTR()

Modificar cadenas con SUBSTR(). Todo programador llega a este punto, ya sea con array, base de datos, cadenas, etc. El punto, de modificar o manipular cadenas de texto.

Por ejemplo, cuando el espacio es muy reducido y queremos mostrar un listado de productos, pero solo queremos que en la lista aparezca una parte, seguido de puntos suspensivos.

Modificar cadenas con SUBSTR

Vamos a ver cómo extraer palabras de una cadena con PHP substr(). La definición de esta función para operar con cadenas es la siguiente:

Función substr()

Esta funcion opera en base a una cadena dada y nos devuelve parte de una cadena. Ademas, trabaja en las siguientes versiones de (PHP 4, PHP 5, PHP 7, PHP 8). Más información en su página oficial.

Sintaxis

substr(string $string, int $start, int $length = ?): string

Devuelve una parte del string definida por los parámetros start y length.

  • string (Obligatorio): Cadena de la que extraeremos una nueva subcadena.
  • start (Obligatorio): Posición de inicio de la extracacción de la subcadena, comienza por la posición 0, siendo este el primer caracter. Si start es negativo empieza contando desde el último caracter en orden inverso.
  • length (opcional): Es la longitud de la cadena a extraer desde el inicio marcado con start. Si se omite la extracción será desde el inicio hasta el final de la cadena.

A) Ejemplo 01 de PHP substr()

Usaremos una cadena con el nombre «HolaMundo». En este ejemplo vamos a poner en práctica la función explicada líneas arriba.

//START POSITIVO Y LENGTH POSITIVO
$cadena= substr("HolaMundo", 2);
echo $cadena; // imprime "laMundo"

$cadena= substr("HolaMundo", 2, 2);
echo $cadena; // imprime "la"

Explicación del ejemplo 01

  • En la primera extracción extraemos la cadena entera a partir del segundo caracter.
  • En la segunda extracción se comienza desde el segundo caracter y la longitud de la extracción es de 2 caracteres.

B) Ejemplo 02 de PHP substr()

//START NEGATIVO
$resultado1 = substr("HolaMundo", -3);
echo $resultado1; // imprime "ndo"
$resultado2 = substr("HolaMundo", -5, 1);
echo $resultado2; // imprime "M"

Descripción del ejemplo 02

  • En la primera extracción se extraen los 3 últimos caracteres.
  • En la segunda extracción se extrae un caracter desde el quinto comenzando desde el final.

C) Ejemplo 03 de PHP substr()

Ahora vamos a usar el Start positivo y Length negativo

<?php 
//START POSITIVO Y LENGTH NEGATIVO

$cadena = "Hola programadores PHP";

$nuevo1 = substr($cadena, 2); // Eliminamos los 2 caracteres de la izquierda 
$nuevo2 = substr($cadena, -3); // Imprimimos los 3 caracteres de la derecha 
$nuevo3 = substr($cadena, 2,-3); // Eliminamos 2 caracteres por la izquierda y 3 por la derecha 
$nuevo4 = substr($cadena, 0,10); // Imprimimos los 10 primeros caracteres de la izquierda
$nuevo5 = substr($cadena, 0,-4); // Eliminamos 4 caracteres por la derecha


echo "Cadena original: <b> $cadena </b> <br><hr>";

echo "$nuevo1 -// Elimina los 2 caracteres de la izquierda <br><br>";
echo "$nuevo2 -// Imprime los 3 caracteres de la derecha <br><br>";
echo "$nuevo3 -// Elimina 2 caracteres por la izquierda y 3 por la derecha<br><br>";
echo "$nuevo4 -// Imprime los 10 primeros caracteres de la izquierda <br><br>";
echo "$nuevo5 -// Elimina 4 caracteres por la derecha <br><br>";

?>

CONCLUSIÓN DE LA FUNCIÓN SUBSTR()

Esta función es muy útil para programar en PHP y nos permite realizar diversas modificaciones a una cadena de texto. Entre sus funciones tenemos la de extraer partes de una cadena ya sea por el inicio o fin de la cadena.
Se puede usar en registros extraídos desde la base de datos que son devueltas en variables o cadenas, ya te dejo a tu imaginación el uso que le puedas dar en tus proyectos web.

Ver Demo

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.
Botón volver arriba