Ver Mensaje Individual
  #11 (permalink)  
Antiguo 15/04/2009, 08:28
Avatar de David
David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Reemplazar un string

Hay que tener en cuenta que str_replace() permite arrays como parámetros, por lo que se puede simplificar así:
Código php:
Ver original
  1. $wrong = array('á', 'é', 'í', 'ó', 'ú', 'ñ', 'Á', 'É', 'Í', 'Ó', 'Ú', 'Ñ', ' ');
  2. $right = array('a', 'e' ,'i', 'o', 'u', 'n', 'A', 'E', 'I', 'O', 'U', 'N', '');
  3. $cadena = str_replace($wrong, $right, $cadena);
De hecho, si revisas el manual:
http://www.php.net/str_replace
Entre las contribuciones de usuario puedes encontrar un códio para preparar el nombre de archivo:
Código php:
Ver original
  1. function preparar_nom_archivo($nom_archivo)
  2. {
  3.     $arr_busca = array(' ','á','à','â','ã','ª','Á','À',
  4.     'Â','Ã', 'é','è','ê','É','È','Ê','í','ì','î','Í',
  5.     'Ì','Î','ò','ó','ô', 'õ','º','Ó','Ò','Ô','Õ','ú',
  6.     'ù','û','Ú','Ù','Û','ç','Ç','Ñ','ñ');
  7.     $arr_susti = array('-','a','a','a','a','a','A','A',
  8.     'A','A','e','e','e','E','E','E','i','i','i','I','I',
  9.     'I','o','o','o','o','o','O','O','O','O','u','u','u',
  10.     'U','U','U','c','C','N','n');
  11.     $nom_archivo = trim(str_replace($arr_busca, $arr_susti, $nom_archivo));
  12.     return preg_replace('/[^A-Za-z0-9\_\.\-]/', '', $nom_archivo);
  13. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.