Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
sanitize strings

Un paso más allá sanitizando cadenas en WordPress

En WordPress disponemos de varias funciones para sanitizar cadenas y eliminar acentos: sanitize_text_field, sanitize_html_class, sanitize_key, remove_accents… pero es posible que en alguna ocasión se te queden cortas o no cumplan exactamente con lo que necesitas.

Por ejemplo, que limpie una cadena, pero te mantenga los espacios en blanco en lugar de sustituirlos por guiones medios, que sustituya algunos caracteres especiales por otro caracter, o que los elimine de la cadena, etc…

Es por eso que comparto esta función, que puedes añadir a tus desarrollos:

Esta función recibe 3 parámetros:

  • $string: la cadena que vamos a «limpiar»
  • $char_to_replace: El caracter por el que vamos a sustituir todos los caracteres «rarunos» que encontremos. Por defecto los eliminamos
  • $keep_spaces: Si es true, mantendremos los espacios en la cadena, en caso contrario (y por defecto) los sustituiremos por guiones medios
 

Lo primero que tenemos es una lista negra de caracteres que vamos a querer eliminar o sustituir por el parámetro $char_to_replace. A continuación, sustituiremos los espacios por guiones medios, excepto que $keep_spaces sea true.

Después de esto, pasamos la cadena por la función remove_accents de WordPress, y por último nos aseguramos de que no haya más de dos guiones medios y/o bajos consecutivos.

Una vez hecha la limpia, retornamos la cadena en minúscula.

Puede que también te interese

Codeception para WordPress: Tests de aceptación con PhpBrowser
Codeception para WordPress: Tests de aceptación con PhpBrowser
1. Introducción e instalación 2. Tests de aceptación con PhpBrowser 3. Tests de aceptación con WebDriver y PhantomJS 4. Tests de aceptación con WebDriver y…
Cómo crear un formulario de log-in/log-out personalizado con WordPress
Cómo crear un formulario de log-in/log-out personalizado con WordPress
En la anterior entrada Cómo restringir el acceso al back-end de WordPress a usuarios no administradores vimos como limitar el acceso al panel de control…
Me han hackeado mi página web de WordPress, ¿qué puedo hacer?
Me han hackeado mi página web de WordPress, ¿qué puedo hacer?
Un día nos podemos levantar y encontrarnos con la desagradable noticia de que nuestro sitio ha sido infectado. Esto puede ocurrir por multitud de factores:…
Cómo redireccionar a una página al usuario cuando se registra
Cómo redireccionar a una página al usuario cuando se registra
Es probable que si en tu sitio tienes abierto el registro de usuarios, quieras redirigir al usuario a una página concreta una vez finalice el…