PHP y MySQL

PHP preg_split(): Convertir un string en array mediante una expersión regular

En el siguiente post vamos a repasar la función de PHP preg_split() que tiene como funcionalidad o finalidad dividir un string mediante una expersión regular y convertir dicha cadena en un array.

Una función similar pero si usar expresiones regulares es str_split(). Otras funciones de PHP interesantes son:

Sintaxis de PHP preg_split()

Veamos la sintaxis extraída de su web oficial:

preg_split ($expresion_regular, $string_a_dividir [,$limite [,$flags]]);

Repasemos los parámetros disponibles:

  • $expresion_regular (Obligatorio): Expresión regular que usaremos para dividir la cadena.
  • $string_a_dividir (Obligatorio): Cadena de texto que queremos dividir y convertir en array.
  • $limite: Número de elementos en los que se dividirá la cadena, en el último elemento irá el resto de la cadena restante si procede. Por defecto su valor es -1, con valor 0 y -1 –> sin límite.
  • flags: Puede tener los siguientes valores –> ‘PREG_SPLIT_NO_EMPTY‘ devolverá en el array los elementos no vacíos. Con  ‘PREG_SPLIT_DELIM_CAPTURE‘ las expresiones entre paréntesis en el patrón delimitador serán capturadas y devueltas. Por último con ‘PREG_SPLIT_OFFSET_CAPTURE‘ se añade el índice (Posición) del valor dividido dentro de la cadena dividir.

Ejemplo de PHP preg_split()

Vayamos con este ejemplo de preg_split() y así ver su funcionamiento:

$frase = "Esta frase la vamos a dividir teniendo en cuenta los espacios en blanco";
$palabras = preg_split('/\s/', $frase, null, PREG_SPLIT_OFFSET_CAPTURE);
print_r($palabras);

Os comento el ejemplo superior:

  • Tenemos en la variable $frase la cadena a dividir.
  • Después dividimos la cadena fijándonos en los espacios en blanco como caracter de división. No ponemos límte de elementos en el array resultante e indicamos el índice (Posición) del valor dividido dentro de la cadena.
  • Por último con print_r mostramos por pantalla los valores del array.
compartir
Publicado por
Aner Barrena