Pequeños trucos en php

En este articulo explicare una serie de pequeños trucos en php que nos pueden resultar útiles en nuestros proyectos: gestionar ficheros de configuración para nuestra aplicación, generar un fichero en formato csv, obtener la lista de tags html de un texto y dividir un texto en varios ficheros de x bytes de tamaño sin cortar las palabras que lo forman.

Índice
  1. Crear un fichero de configuración para nuestra aplicación en php
  2. Generar un fichero csv
  3. Obtener la lista de tags de un texto html
  4. Dividir texto en varios ficheros de determinado tamaño sin cortar las palabras

Crear un fichero de configuración para nuestra aplicación en php

Si nuestra aplicación en php necesita un fichero de configuración para que el usuario pueda configurarla de acuerdo a sus necesidades, hay una manera muy sencilla de gestionarlo mediante la función parse_ini_file. Esta función nos permite cargar un fichero .ini y devolver los parámetros de configuración en un array.

Por ejemplo, podemos tener el siguiente fichero de configuración (prueba.ini):

; Los comentarios se indican con un punto y coma delante, como en el fichero php.ini
[website]
url			=	"https://www.fernandezsansalvador.es/page/"
page_begin		=	1
page_end		=	5

Para obtener los parámetros de ese fichero, realizamos la llamada a la función pasándole como parámetro la ruta del fichero .ini:

$config = parse_ini_file('prueba.ini');

A partir de ese momento, podremos acceder al array $config para obtener los valores de los parámetros de configuración:

echo 'El parámetro url tiene un valor de: '.$config['url']."\n";
echo 'El parámetro page_begin tiene un valor de: '.$config['page_begin']."\n";
echo 'El parámetro page_end tiene un valor de: '.$config['page_end']."\n";

Generar un fichero csv

Un fichero csv es un fichero de texto donde los datos se separan en columnas delimitadas por comas. Nos puede ser muy útil para exportar datos a diversos programas, como por ejemplo excel.

Por ejemplo, si tenemos un array con una serie de números en un orden y queremos generar el csv para importar luego en excel, podemos utilizar este fragmento de código. Nos generara el fichero prueba.csv que luego podremos realizar la importación en excel.

$datos = array('3456','8976','9245','897543',92847','98345');

//Generar el csv
$fp = fopen('prueba.csv', 'w');
fwrite($fp, '"orden","dato"'."\r\n");
foreach($datos as $k=>$dato) {
	fwrite($fp,'"'.$k.'","'.$dato.'"'."\n");
}
fclose($fp);

Obtener la lista de tags de un texto html

Si tenemos un texto en formato html y necesitamos sacar la lista de tags (y solamente la lista de tags html), podemos utilizar la función preg_math_all con la expresión regular /<((?!<)(.|\n))*?\>/si

$data = '<p>Esto es una <strong>prueba</strong> de texto en <em>formato html</em> de ejemplo</p>';
preg_match_all( '/<((?!<)(.|\n))*?\>/si',  $data, $tags);

print_r($tags);

En el array $tags tendremos el listado de tags html de nuestro texto.

Dividir texto en varios ficheros de determinado tamaño sin cortar las palabras

Hay veces que nos es útil dividir un texto grande en varios ficheros de texto de longitud X, pero sin que se corten las palabras a la mitad.

Este fragmento de código, divide el texto de la variable $data en trozos de 50 bytes, generando un fichero de texto (0.txt, 1.txt, etc) por cada uno de ellos.

//Aqui tenemos que definir el contenido del array $data, el texto a cortar
// $data = array('...');

$array_files = explode("\n", wordwrap($data, 50, "\n"));
	
foreach($array_files as $k=>$file) {
	$fp = fopen($k.'.txt', 'w');
	fwrite($fp,$file);
	fclose($fp);
}

Espero que estos truquillos os resulten útiles en vuestros proyectos. Iré recopilando mas según me vayan surgiendo los problemas en el día a día y publicándolos para mejorar entre todos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir