Foros del Web » Programando para Internet » PHP »

acentos con str_replace

Estas en el tema de acentos con str_replace en el foro de PHP en Foros del Web. Hola buenas, soy un poco nuevo en esto del php y he estado tratando de crear una función que me cambie los acentos por "acutes".. ...
  #1 (permalink)  
Antiguo 02/12/2012, 06:50
 
Fecha de Ingreso: diciembre-2012
Ubicación: kraks see tee
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
acentos con str_replace

Hola buenas, soy un poco nuevo en esto del php y he estado tratando de crear una función que me cambie los acentos por "acutes".. la funcion str_replace me ha parecido la más correcta por lo tanto armé esto:

Código PHP:
<?php
$texto
="hola cómo estás";

function 
cambio($texto)
        {
    
$acentos=("á","é","í","ó","ú");
        
$acutes="&aacute;&eacute;&iacute;&oacute;&uacute;";
    }
echo 
$acentosporacutes=str_replace($acentos,$acutes,$texto);
?>
pero la cuestión es, que está muy simple esa función, no creo que eso baste para cambiarlos.. quisiera saber cómo hago para que detecte cuál "acute" corresponde a cuál acento. Debería hacer un foreach? O de qué forma podría hacer que al ver que reemplace el acento por su acute correspondiente? Sería de gran ayuda... También está la forma de hacerlo con html_entitites pero me intriga saber cómo se puede hacer con str_replace... Ayuda por favor!
Gracias de antemano
  #2 (permalink)  
Antiguo 02/12/2012, 07:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: acentos con str_replace

Hola, juanitoalimana.

str_replace acepta arrays como parámetros, lo que te permite hacer lo que deseas (véase: http://php.net/str_replace)

También podrías obtener ese resultado con htmlentities (que te convertirá también todos los dempas caracteres que se puedan a entidades) usando las opciones correctamente.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: acentos, acutes, reemplazar, str_replace, transformar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:11.