Avatar ·

Cómo eliminar todos los caracteres no alfanuméricos de una cadena en PHP?

¡Hola a todos! Soy nuevo en PHP y me encontré con este problema: necesito limpiar una cadena de todo excepto letras (latín y cirílico) y dígitos. Probé con str_replace y quedó terriblemente voluminoso, tuve que enumerar cada carácter. Esto es lo que intenté hacer: ```php $text = "Привет, мир! Как дела? 123."; $clean = str_replace(array(',', '!', '?', '.', ' '), '', $text); echo $clean; // ПриветмирКакдела123 ``` Pero esto no es serio: enumerar todos los signos de puntuación posibles, espacios y otra basura manualmente. ¿Y si hay paréntesis, barras o caracteres especiales como @#$%? Además, el usuario puede ingresar cualquier cosa. He oído que se pueden usar expresiones regulares con preg_replace, pero no entiendo qué patrón establecer. Necesito que solo queden: - Letras del alfabeto latino (a-z, A-Z) - Letras del alfabeto cirílico (а-я, А-Я) - Dígitos (0-9) Todo lo demás (espacios, signos de puntuación, caracteres especiales, emojis) debe ser eliminado. ¿Pueden decirme cómo hacerlo correctamente? Preferiblemente con una explicación.