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.

/**
 * 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));
    }

}