Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2015, 17:39
Avatar de pampa_
pampa_
 
Fecha de Ingreso: mayo-2006
Mensajes: 334
Antigüedad: 18 años, 6 meses
Puntos: 1
funcion limpiar caracteres especiales

Buenas a todos!!

Estoy tratando de utilizar una funcion para limpiar un texto de caracteres especiales, para si poder formar una url amigable.
la funcion es:
Código PHP:
Ver original
  1. function urls_amigables($url) {
  2.     $url = utf8_decode($url);
  3.     $url = mb_strtolower($url);
  4.      
  5.      //Reemplazamos caracteres especiales latinos
  6.      $find = array('á','é','í','ó','ú','à','è','ì','ò','ù','ä','ö','ç','ñ');
  7.      $repl = array('a','e','i','o','u','a','e','i','o','u','a','o','c','n');
  8.      $url = str_replace($find, $repl, $url);
  9.      
  10.      //Añadimos los guiones
  11.      $find = array(' ', '&', '\r\n', '\n','+');
  12.      $url = str_replace($find, '-', $url);
  13.      
  14.      //Eliminamos y Reemplazamos los demas caracteres especiales
  15.      $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<{^>*>/');
  16.      $repl = array('', '-', '');
  17.      $url = preg_replace($find, $repl, $url);
  18.    
  19.     return $url;
  20.    
  21. }

Recurro a vosotros porque no lo consigo, lo que me hace ahora es eliminarme las letras con acento, ñ, etc... en vez de cambiarlas... creo que el problema viene por la codificacion...

En mi base de datos Mysql tengo puesto en el cotejamiento del los campos.
utf8_unicode_ci

En el notepad++ estoy con
UTF sin BOM

Y en los archivos php
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


¿Me podéis echar un cable?

Gracias.