Regex : tout supprimer sauf une série de caractères

Eléphanteau du PHP | 48 Messages

25 juil. 2016, 10:51

Salut,

Je cherche à supprimer tout les caractères d'un texte sauf ceux que je liste.

Voici comment je procède :

Code : Tout sélectionner

$texte = preg_replace('/[^a-zÁÀÂÄÉÈÊËÍÌÎÏÓÒÔÖÚÙÛÜáàâäéèêëíìîïóòôöúùûüÇç\'-]/', ' ', $texte);
Afin de garder que les lettres et des accents, le tiret et le guillemet simple. Mais cela ne fonctionne pas...

Merci de m'aider :)

Mammouth du PHP | 2703 Messages

25 juil. 2016, 16:35

$texte = "gd::!;fdg65fgdfg";
echo $texte;
$texte = preg_replace('/[^a-zÁÀÂÄÉÈÊËÍÌÎÏÓÒÔÖÚÙÛÜáàâäéèêëíìîïóòôöúùûüÇç\'-]/', ' ', $texte);
echo "<hr>$texte";
m'affiche bien :
gd::!;fdg65fgdfg<hr>gd fdg fgdfg
soit ce qui est attendu.