Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/09/2016, 14:30
xerifandtomas
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: sustituir espacios vacios en url

Hace algún tiempo en este hilo se posteo una función similar a la del compañero petit89 pero un poco más completa.

Te la pongo aquí, para solo modificando el último str_replace modificado para que en lugar de espacios lo reemplazo por guiones medios.

Código PHP:
/**
* Extraido de http://ecapy.com/reemplazar-la-n-acentos-espacios-y-caracteres-especiales-con-php-actualizada/
* Reemplaza todos los acentos por sus equivalentes sin ellos
*
* @param $string
*  string la cadena a sanear
*
* @return $string
*  string saneada
*/
function eliminar_simbolos($string){
 
    
$string trim($string);
 
    
$string str_replace(
        array(
'á''à''ä''â''ª''Á''À''Â''Ä'),
        array(
'a''a''a''a''a''A''A''A''A'),
        
$string
    
);
 
    
$string str_replace(
        array(
'é''è''ë''ê''É''È''Ê''Ë'),
        array(
'e''e''e''e''E''E''E''E'),
        
$string
    
);
 
    
$string str_replace(
        array(
'í''ì''ï''î''Í''Ì''Ï''Î'),
        array(
'i''i''i''i''I''I''I''I'),
        
$string
    
);
 
    
$string str_replace(
        array(
'ó''ò''ö''ô''Ó''Ò''Ö''Ô'),
        array(
'o''o''o''o''O''O''O''O'),
        
$string
    
);
 
    
$string str_replace(
        array(
'ú''ù''ü''û''Ú''Ù''Û''Ü'),
        array(
'u''u''u''u''U''U''U''U'),
        
$string
    
);
 
    
$string str_replace(
        array(
'ñ''Ñ''ç''Ç'),
        array(
'n''N''c''C',),
        
$string
    
);
 
    
$string str_replace(
        array(
"\\""¨""º""-""~",
             
"#""@""|""!""\"",
             
"·""$""%""&""/",
             
"("")""?""'""¡",
             
"¿""[""^""<code>""]",
             
"+""}""{""¨""´",
             
">""< "";"","":",
             
"."" "),
        
'-',
        
$string
    
);
return 
$string;

 
//Ejemplo 
$micadena "ésta cadeña  tiene . Símbolõs";
 
$micadena eliminar_simbolos($micadena);
 
echo 
$micadena
__________________
Unset($vida['malRollo']);