Estoy tratando de reemplazar en una cadena todos los caracteres que no sean de palabra con cadena vacía, espere espacios y junte todos los espacios múltiples como un solo espacio.PHP mb_ereg_replace no reemplaza mientras que preg_replace funciona como estaba previsto
El siguiente código hace esto.
$cleanedString = preg_replace('/[^\w]/', ' ', $name);
$cleanedString = preg_replace('/\s+/', ' ', $cleanedString);
Pero cuando intento usar mb_ereg_replace no pasa nada.
$cleanedString = mb_ereg_replace('/[^\w]/', ' ', $name);
$cleanedString = mb_ereg_replace('/\s+/', ' ', $cleanedString);
$ cleanedString es lo mismo que si $ nombre en el caso anterior. ¿Qué estoy haciendo mal?
Gracias fue el error que cometí. Si mi entrada es UTF-8 ¿hay alguna recomendación con respecto a qué método usar? – Jithin
@Jithin Si es UTF-8, también podría usar 'preg_replace' con el indicador' u': 'preg_replace ('/ \ s +/u', '', $ cleanedString);' – Artefacto
@Artefacto Gracias. ¿Puede decirme si es seguro suponer que siempre que la entrada esté en codificación UTF-8, el preg_replace funcionará para la mayoría de los idiomas? – Jithin