7
votes

Preg_Replace tout sauf chiffres, lettres, périodes et slash?

J'ai une expression régulière qui lande tout sauf les lettres. chiffres et périodes. Comment puis-je aussi ajouter des prévisionnées? XXX


0 commentaires

3 Réponses :


22
votes

Vous pouvez échapper aux préviseurs en mettant une barre oblique inverse avant - $ ciblefile = Preg_replace ('/ [^ A-ZA-Z0-9 -. \ /] /', '', $ cibleFileDirty); / code>

Alternativement, et peut-être mieux, vous pouvez utiliser différents délimiteurs à la place, par ex. $ TargetFile = Preg_replace ('# [^ a-za-z0-9-./]#', '', $ cibleFileDirty);


2 commentaires

Juste une question, pourquoi avez-vous besoin du "-" après le numéro 9 pour indiquer une période?


son indiquant le - est autorisé et a. au-dessus de cela



2
votes

Ajoutez simplement une slash évasée: [^ a-za-z0-9 -. \\ /]


1 commentaires

Eek! Je n'ai pas regardé ma réponse après avoir posté. Désolé, et merci!



7
votes

Pour être unicode compatible Vous pouvez utiliser:

$targetFile = preg_replace('#[^\pL\pN./-]+#', '', $targetFileDirty);


0 commentaires