Pregunta

En Bosnia tenemos los siguientes caracteres que solo se usan en forma latina en Bosnia y Croacia, por lo que necesitaría convertir estas letras como siguientes:

FROM | TO
  ć  | c
  č  | c
  ž  | z
  š  | s
  đ  | dj

Si esto es posible con alguna forma especial de regex, o utf8_encode/decode, ¡esa información y un ejemplo apropiado serán bienvenidos! Gracias a todos.

PD: ¡quiero lograr esto en PHP!

¿Fue útil?

Solución

Puedes usar esto con Iconv.

$result = iconv("UTF-8", "ASCII//TRANSLIT", $text);

Que funcionará suponiendo su aporte $text está en UTF-8. Si está en Latin-1, entonces use

iconv("ISO-8859-1", "ASCII//TRANSLIT", $text);

De porque tu PHP debe tener iconv extensión, con mayor frecuencia iconv está habilitado en php.ini archivo, pero no siempre.

Otros consejos

Puedes probar esto:

$search = array("ć", "č", "ž", "š", "đ");
$replacement = array("c", "c", "z", "s", "dj");
$new_string = str_replace($search, $replacement, $string);

Además, mira str_replace

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top