La extracción de datos es un concepto fundamental en el desarrollo de sistemas, utilizado para manipular y transformar cadenas de texto en diferentes formatos. En el mundo del desarrollo web, esto es particularmente importante y se realiza con frecuencia. Aprender a usar estas funciones efectivas de PHP no solo mejora la eficiencia del almacenamiento y presentación de datos, sino que es crucial para el buen funcionamiento de aplicaciones modernas. Vamos a explorar algunas técnicas clave.
¿Cómo extraer caracteres de una cadena de texto?
Para extraer caracteres específicos de una cadena de texto en PHP, puedes utilizar sus índices. Cada caracter dentro de una cadena está ubicado en una posición que comienza en cero. Así, puedes imprimir el primer carácter de una cadena utilizando la siguiente sintaxis en PHP:
echo$data[0];// Imprime el primer carácter
Si actualizas esta posición, obtendrás el carácter correspondiente. Además, es posible cambiar los corchetes por llaves sin afectar el resultado.
¿Cómo usar substr para obtener parte de una cadena?
La función substr() en PHP es extremadamente útil cuando necesitas obtener un subconjunto de caracteres de una cadena. Esta función toma tres parámetros: la cadena original, la posición desde la cual comenzar, y la cantidad de caracteres a extraer. Por ejemplo:
$extraccion=substr($texto,0,20);echo$extraccion."... ver más";
Este pedazo de código mostrará los primeros 20 caracteres de $texto, lo cual es común al crear resúmenes en los artículos de un blog.
¿Cómo transformar una cadena en un array?
Imagina que tienes una cadena de texto con diferentes etiquetas separadas por comas y deseas convertirla en un array. PHP lo facilita con la función explode(), que divide una cadena en un array basándose en un delimitador:
Esto convierte los elementos del array en una cadena, separados por una coma y un espacio, ideal para mostrar listas en un formato legible.
¿Cómo limpiar espacios extra en cadenas de texto?
En el uso diario, especialmente al tratar con entradas de formularios, los espacios innecesarios pueden causar problemas. PHP ofrece la función trim(), que elimina los espacios al inicio y al final de una cadena:
$curso=" Curso de PHP ";$cursoLimpio=trim($curso);echo"Quiero aprender $cursoLimpio";
Adicionalmente, ltrim() elimina los espacios desde la izquierda y rtrim() desde la derecha. Estas funciones son esenciales para asegurar la consistencia de los datos antes de almacenarlos.
¿Por qué es importante la manipulación de datos en sistemas?
El manejo correcto de datos en un sistema no solo asegura que la información sea precisa sino también eficiente para el almacenamiento y la recuperación. La correcta utilización de funciones de manipulación de texto en PHP ofrece una base sólida para cualquier aplicación moderna. Al dominar estas técnicas, los desarrolladores pueden mejorar la calidad y funcionalidad de sus proyectos.
Explora cada una de estas funciones y continúa profundizando en PHP para optimizar tus habilidades de programación. ¡El conocimiento que adquieras hoy será tu aliado en futuros desarrollos!
OFFTOPIC// El Elemento ++HTML <pre> (o Texto HTML Preformateado) representa texto preformateado++. El texto en este elemento típicamente se muestra en una fuente fija, no proporcional, exactamente como es mostrado en el archivo. Los espacios dentro de este elemento también son mostrados como están escritos.
<pre></pre>
Para quien no entiende de donde sale la etiqueta <pre>, es una etiqueta HTML. El profe lo usa abriendo la etiqueta pero nunca la cierra al final del código. Si la usan en sus proyecto recuerden cerrarla.
Gracias por la explicación
Gracias por la explicación.
No debes acceder a caracteres de esta forma:
$data{0}
Esto esta deprecado desde php6. Debemos usar corchetes en su lugar.
Valiosa información pero también es bueno conocer esta forma por si nos toca darle a mantenimiento a una versión de php en donde utilizaron esa sintaxis.
El explode y el implode son muy útiles y se usan con más frecuencia de lo que uno se puede imaginar, por si no quedo claro, básicamente el explode busca las coincidencias en una cadena con base en lo que tu le pases y las corta para crear un array, algo interesante que se puede hacer es crear una función que remueve todos los espacios de una cadena usando únicamente explode e implode:
El explode me recuerda al método split de javascript
Los ejercicios que el profesor dio durante la clase.
<?php
#Extracción de datos.#De esta cadena de texto extraer los caracteres que yo le diga al impimir.$data='Estudio PHP'; echo $data[0];//echo $data{0};// //E #Imaginemos que tenemos un post
$post ='Lorem ipsum dolor sit amet consectetur adipisicing elit. Ea ullam omnis reprehenderit debitis quos voluptatum odit eos, doloremque aperiam vel illo voluptate? Accusantium, velit aliquam quasi totam architecto libero nobis!'; $extract =substr($post,0,20); echo "$extract... [Ver más]"; #Si tenemos un texto y un formulario que diga ingresa las etiquetas de este post podemos pasar ese texto a un array directamente.#pre permite organizar mejor mi información.$data='javascript, php, laravel'; $tags =explode(', ', $data);//le digo que cada vez que consiga una coma a un arreglo. Y ESE ARRAY ES EL QUE GUARDAMOS EN LA ABSE DE DATOS. echo "<pre>";var_dump($tags);/* SALIDA:
array(3)
{
[0]=>
string(10) "javascript"
[1]=>
string(3) "php"
[2]=>
string(7) "laravel"
}
*/ #Pasar un array a string
$courses =['javascript','php','laravel']; echo implode(', ', $courses);//javascript, php, laravel #Eliminar espacios.$course=" Curso de PHP "; echo trim($course); #Eliminar espacios.$course=" Curso de PHP "; $course =trim($course); echo "<pre>"; echo "Quiero aprender $course, y otro texto"; #Eliminar solo espacios de la izquierda.$course=" Curso de PHP "; $course =ltrim($course); echo "<pre>"; echo "Quiero aprender $course, y otro texto"; #Eliminar solo espacios de la derecha.$course=" Curso de PHP "; $course =rtrim($course); echo "<pre>"; echo "Quiero aprender $course, y otro texto";?>
Me encantan estos nuevos minicursos que tocan temas de base, ya había hecho antes de que se publiquen estos cursos otros mas avanzados con librerías y notaba que me faltaba reforzar los conocimientos de php puro.
si bien siempre leo la documentación me cuesta memorizar tantas funciones de PHP para los strings y los arrays, siento que no retengo nada. Estos videos resultan mas graficos.
Me paso lo mismo, a mi se me difulto mucho ls anteriores cursos, pero era por que nos faltaba conocer cosas como :
-composer
-sitaxis
Un dato extra interesante con respecto a la función substr es que si ingresamos un valor positivo como carácter de inicio funcionara como mostro el profesor en el video, pero si ingresamos en este lugar un valor negativo la función comenzará a contar desde el final del texto hacia su inicio (reversa).
muy buen aporte
Si desean ejecutar código php en tiempo real pueden utilizar la consola interactiva de php
echo"<br>";$post="Lorem ipsum dolor sit amet consectetur adipisicing elit. Exercitationem, reiciendis non facilis commodi numquam ea perspiciatis aliquid voluptas fuga? Magnam animi architecto reprehenderit eaque officia maxime facere fugit repellendus! Praesentium?";$extract=substr($post,0,30);echo"$extract... [ver más]";
Estamos pasando de string a Array para manipular los datos
Con trim podemos conseguir que los espacios se eliminen. Funciona exactamente igual que el método strip en ruby.
$course=" Curso de PHP ";// ltrim($course) o rtrim($course).$course=trim($course);echo"<prev>";echo"Quiero aprender $course, y otro curso.";
👍
gracias
Desde PHP 7.4 acceder a las letras de un string mediante llaves { } sigue funcionando pero saldrá un error deprecado como este:
Deprecated:Array and string offset access syntax with curly braces is deprecated
La forma correcta es mediante corchetes [ ] como hizo el profesor en el primer ejemplo.
Buen punto.
Recomendacion: Recordar que esa forma existe para proyectos legacy. Olvidar por completo (No implementarla) en nuevos proyectos
Estoy usando PHP 8 y ya no permite usar {} para el Array String. En la version 8 es con []
echo $data[0];
así es
confirmo, muestra el resultado con
un mensaje Deprecated, en servidor local:
Sin embargo, en Producción, solo muestra el resultado, no muestra el deprecated, así:
A mi no funciona utilizando {} para especificar la posición de arreglo. Me aparece
Fatal error: Array and string offset access syntax with curly braces is no longer supported in C:\xampp\htdocs\prueba\index.php on line 8
Estoy trabajando con la versión PHP 8.0.x
¿Alguien sabe la razón?
Según entiendo por el error para tu versión de PHP ya no se tiene esa característica
Por la versión de PHP que tienes, la sintaxis ya no es con {}
🐱💻 Podemos utilizar [ ] ó { } para extraer elementos de una cadena de caracteres.
$name='Brayan Mamani';echo$name[0];echo$name{7};
Tengo instalada la version 8.2.4 de PHP y al hacer el ejemplo con llaves
echo $data{0};
Me sale el siguiente error: Fatal error: Array and string offset access syntax with curly braces is no longer supported in [ruta]
Lo que significa que ya no se seporta tratar el string como array con llaves, solo con los corchetes.
Yo ejecuto los ejercicios que vamos haciendo en tiempo real con PHP Server. Es una extensión disponible en VS Code.
;","echo \"</pre>\";"],"description":"Inserta pre y var_dump"},
Buenos apuntes !
Dejo por aqui mis apuntes con un resumen de esta clase
substr($text, $init, $finish)
Introduce una cadena de texo en la funcion y ella retorna una cadena de texto que empieza en el carater $init hasta el caracter $finish de la cadena de texto dada.
explode($caracter, $text)
Es similar al split de Java y Javascript. A la funcion se le introduce una cadena de texto y esta se separa por el $caracter dado. Las cadenas separadas se almacenan en un array que retorna la funcion explode.
implode($caracter, $array)
Es lo inverso a explode. Implode retorna una cadena de texto construida con el texto almacenado en las posiciones del $array y se concatenan con el $caracter dado.
trim($text)
Remueve espacios en blancos de $text
Desde la versión 7.4 de PHP ya no sirve esta forma de acceder.
$data{0};
Si quieren saber que versión de PHP usan, ejecutan esta función dentro del script de PHP.
<?php
phpinfo();```
3. Extracción de datos
La función substr() nos sirve para extraer parte de un string, indicando como parámetros ($variable, inicio, fin).
Con trim() eliminanos los espacios antes y después de una cadena de texto.
Con ltrim() eliminanos solo los espacios de la IZQUIERDA.
Con rtrim() eliminanos solo los espacios de la DERECHA.
Les comparto el código de la clase:
<?php//$data = "Estudio PHP";//echo $data[0];//$post = "Lorem ipsum dolor sit amet consectetur adipisicing elit. Rerum, quae! Libero dicta adipisci suscipit molestiae ad facilis quibusdam quisquam nam veritatis natus laboriosam, qui delectus voluptates alias excepturi impedit voluptas";//$extract = substr($post, 0, 20);//echo "$extract... [ver más]";/*/
$data = "javascript, php, laravel"; //campo tags
$tags = explode(", ", $data); //se convierte en array
echo "<pre>";
var_dump($tags);
*///$courses = ["javascript", "php", "laravel"];//crea un string a partir de un array separado por algo ", "//echo implode(", ", $courses);$course=" Curso de PHP ";$course=trim($course);echo"<pre>";echo"Quiero aprender $course, y otro texto";