Ver Mensaje Individual
  #9 (permalink)  
Antiguo 22/09/2009, 20:22
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Esto funciona:

Cita:
preg_replace("/[^a-zA-Z\_\-0-9]/", "", $nombre);
Estoy probando esto:

Cita:
// Convertir acentos y tildes
$search = array('.', 'Á', 'É', 'Í', 'Ó', 'Ú', 'á', 'é', 'í', 'ó', 'ú', 'Ü', 'ü', 'Ñ', 'ñ');
$replace = array('_', 'a', 'e', 'i', 'o', 'u', 'a', 'e', 'i', 'o', 'u', 'u', 'u', 'n', 'n');
$nombre = str_replace($search, $replace, strtolower(trim($nombre)));
Y al parecer me transforma el punto. Pero no la á acentuada.

Y en el manual de PHP encontré esto:
Cita:
// replace accented chars
$accents = '/&([A-Za-z]{1,2})(grave|acute|circ|cedil|uml|lig);/';
para un preg_replace. Pruebo.

Esto funcionó:

Cita:
$nombre= utf8_encode(strtr(utf8_decode($nombre), '.áéíóuÁÉÍÓÚÜñÑ' , '_aeiouAEIOUunn'));
Era un problema de UTF-8

Última edición por GatorV; 23/09/2009 a las 09:59