Avatar ·

Comment supprimer tous les caractères non alphanumériques d'une chaîne en PHP ?

Bonjour à tous ! Je suis débutant en PHP et j'ai rencontré un problème : je dois nettoyer une chaîne de tout sauf des lettres (latin et cyrillique) et des chiffres. J'ai essayé avec str_replace — c'est devenu terriblement lourd, j'ai dû énumérer chaque caractère. Voici ce que j'ai essayé de faire : ```php $text = "Привет, мир! Как дела? 123."; $clean = str_replace(array(',', '!', '?', '.', ' '), '', $text); echo $clean; // ПриветмирКакдела123 ``` Mais ce n'est pas sérieux — énumérer manuellement tous les signes de ponctuation possibles, les espaces et autres déchets. Et s'il y a des parenthèses, des barres obliques ou des caractères spéciaux comme @#$% ? De plus, l'utilisateur peut saisir n'importe quoi. J'ai entendu dire qu'on peut utiliser les expressions régulières avec preg_replace, mais je ne comprends pas quel motif définir. Il faut qu'il ne reste que : - Les lettres de l'alphabet latin (a-z, A-Z) - Les lettres cyrilliques (а-я, А-Я) - Les chiffres (0-9) Tout le reste (espaces, signes de ponctuation, caractères spéciaux, emojis) doit être supprimé. Pouvez-vous m'indiquer comment faire correctement ? De préférence avec une explication.