Cambiar acentos y eliminar caracteres no alfanuméricos

Código PHP

PHP – String – Acentos, caracteres no alfanuméricos

Función que realiza un limpiado en un texto eliminando acentros, caracteres no alfanuméricos, símbolos de puntuación y cambia el espacio en blanco por un guión bajo.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/**
* Class HelperString
*/
abstract class HelperString
{
/**
* Elimina todas las letras con acentos, elimina
* caracteres no alfanumericos, símbolos de puntuación
* cambia el espacio en blanco por un guión bajo
*
* @param string $texto
*
* @return string
*/
public static function sanitizeAll($texto)
{
/* Elimina accentos, ñ y ç */
$texto = strtolower( strtr( $texto,
'ÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛÇÑáéíóúàèìòùäëïöüâêîôûçñ ',
'aeiouaeiouaeiouaeioucnaeiouaeiouaeiouaeioucn_' ) );
/* Elimina cualquier carácter no alfanumerico */
return preg_replace( '/[^[:alnum:]._]/ui',
'',
trim($texto));
}
}
/** * Class HelperString */ abstract class HelperString { /** * Elimina todas las letras con acentos, elimina * caracteres no alfanumericos, símbolos de puntuación * cambia el espacio en blanco por un guión bajo * * @param string $texto * * @return string */ public static function sanitizeAll($texto) { /* Elimina accentos, ñ y ç */ $texto = strtolower( strtr( $texto, 'ÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛÇÑáéíóúàèìòùäëïöüâêîôûçñ ', 'aeiouaeiouaeiouaeioucnaeiouaeiouaeiouaeioucn_' ) ); /* Elimina cualquier carácter no alfanumerico */ return preg_replace( '/[^[:alnum:]._]/ui', '', trim($texto)); } }
/**
 * Class HelperString
 */
abstract class HelperString
{
    /**
     * Elimina todas las letras con acentos, elimina 
     * caracteres no alfanumericos, símbolos de puntuación
     * cambia el espacio en blanco por un guión bajo
     *
     * @param string $texto
     *
     * @return string
     */
    public static function sanitizeAll($texto)
    {
        /* Elimina accentos, ñ y ç */
        $texto = strtolower( strtr( $texto,
                    'ÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛÇÑáéíóúàèìòùäëïöüâêîôûçñ ',
                    'aeiouaeiouaeiouaeioucnaeiouaeiouaeiouaeioucn_' ) );

        /* Elimina cualquier carácter no alfanumerico */
        return preg_replace( '/[^[:alnum:]._]/ui', 
                             '', 
                             trim($texto));
    }

}