Avatar ·

Como remover todos os caracteres não alfanuméricos de uma string em PHP?

Olá a todos! Sou novo em PHP e me deparei com o seguinte problema: preciso limpar uma string de tudo, exceto letras (latim e cirílico) e dígitos. Tentei usar str_replace — ficou terrivelmente complicado, tive que listar cada caractere. Aqui está o que tentei fazer: ```php $text = "Привет, мир! Как дела? 123."; $clean = str_replace(array(',', '!', '?', '.', ' '), '', $text); echo $clean; // ПриветмирКакдела123 ``` Mas isso não é sério — listar todos os possíveis sinais de pontuação, espaços e outros lixos manualmente. E se houver parênteses, barras ou caracteres especiais como @#$%? Além disso, o usuário pode inserir qualquer coisa. Ouvi dizer que é possível usar expressões regulares com preg_replace, mas não entendo qual padrão definir. Preciso que restem apenas: - Letras do alfabeto latino (a-z, A-Z) - Letras do alfabeto cirílico (а-я, А-Я) - Dígitos (0-9) Todo o resto (espaços, sinais de pontuação, caracteres especiais, emojis) deve ser removido. Diga-me como fazer isso corretamente? De preferência com uma explicação.