Manejo de cadenas de texto en Laravel

Laravel nos ofrece varias clases de ayuda o helpers para modificar ciertos elementos o tipos de datos dentro de nuestras aplicaciones. En esta lección te enseñaremos algunos helpers que se encargan del manejo de cadenas de texto.

Str::camel()

El método Str::camel asigna el estilo de escritura camelCase a una cadena. El nombre se debe a la diferencia entre las mayúsculas y las minúsculas en la palabra, semejando a las jorobas de un camello. Es muy utilizado para los nombres de las funciones. Ejemplo:

class_basename()

Esta función toma como parámetro la ruta completa de una clase y nos devuelve solo el nombre. Ejemplo:

e()

Esta función nos devuelve el código HTML escapado, Ejemplo:

Esta función usa htmlentities internamente.

Str::endsWith()

Este método determina si la cadena termina en un valor dado. Ejemplo:

También se puede pasar un array para determinar si la cadena dada termina con alguno de los valores dados:

Str::snake()

Este método le asigna el estilo de snake_case a la cadena. Este estilo es utilizado para nombre de variables, nombre de archivos, entre otros. Ejemplo:

Str::limit()

Este método limita el número de caracteres que se van a mostrar en la cadena. Su primer parámetro es la cadena y el segundo el número máximo de caracteres (entero).

También se puede pasar un valor como tercer argumento para cambiar la cadena que se agrega al final:

Str::startsWith()

Este método determina si la cadena inicia en un valor dado. Ejemplo:

Str::contains()

Determina si una cadena de texto se encuentra en otra. El primer parámetro es la cadena y el segundo es la que se va a buscar.

También se puede pasar un arreglo para determinar si la cadena dada contiene alguno de los valores dados:

Str::finish()

Este método nos permite agregar al final de una cadena cualquier otra cadena. El primer argumento es la cadena original, el segundo argumento es la cadena que se quiere agregar. Ejemplo:

Str::is()

Este método determina si una cadena de texto comienza con otra dada. Es parecido a Str::contains(), pero en éste tenemos un comodín (*) que permite que la cadena a buscar, pueda o no, continuar con otros caracteres. El primer parámetro es la cadena a buscar y el segundo es la cadena donde se buscará. Ejemplo:

Str::plural()

Este método convierte la cadena de su forma singular a su forma plural. Actualmente solo funciona con el idioma inglés.

Puedes utilizar un entero como segundo parámetro de la función, el cual va a condicionar si se utilizará la forma singular o plural. Ejemplo:

Str::random()

Este método genera una cadena de caracteres aleatorios, utiliza como argumento la longitud que deseamos que tenga la cadena. Ejemplo:

Str::singular()

Este método convierte la cadena de su forma plural a su forma singular. Actualmente solo funciona con el idioma inglés. Ejemplo:

Str::slug()

Este método nos ayuda a construir URLs amigables a partir de una cadena dada, como podría ser un título, un nombre propio, etc. El primer argumento que recibe es la cadena y el segundo es el carácter:

Str::studly()

Este método le asigna el estilo de escritura StudlyCase a la cadena, es decir, capitaliza todas las palabras de la cadena y elimina los espacios en blanco. Ejemplo:

trans()

Esta función nos devuelve la traducción de la cadena que se encuentra en los archivos de idiomas. Ejemplo:

Puede dar como resultado WelcomeBienvenido (dependiendo de la configuración de idioma de la aplicación y del mensaje traducido a dicho idioma:

Si la llave de traducción especificada no existe, la función trans devolverá la misma llave dada.

trans_choice()

Esta función es parecida a trans(), pero acepta un segundo argumento que permite elegir cuál de las frases se va a mostrar. Ejemplo:

Este sería nuestro archivo de traducción:


Como puedes observar:

  • {}  indica un solo valor.
  • []   indica un rango de valores.
  • *     indica infinito.

Así utilizamos la función:

Si la llave de traducción especificada no existe, la función trans_choice devolverá la llave dada.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.