|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 19 ![]() |
Bonjour à tous,
j'utilise Zend_Filter_PregReplace pour renommer un nom de fichier et notamment supprimer tous les caractères qui ne sont pas des lettres, des chiffres ou des espaces. La première version de ma regexp est évidemment fausse : Code :
Code :
Ma question est donc la suivante : Comment exprimer le pattern suivant : ni une lettre ni une espace ni un chiffre. Ou comment joindre les atomes de mon pattern par un AND ? Merci beaucoup par avance ! Frédéric |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Ton expression est bonne (a part que c'est :space: ).
Le ^ c'est "sauf tous les éléments" Plus simplement même : |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
les noms complets pour masque utf-8 PERL ne sont pas compatible PCRE
c'est \P{Separator}\P{Letter}\P{Number} \P{Z}\P{L}\P{N}
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 19 ![]() |
Merci pour vos réponses !
Effectivement le masque est correct. Quand l'unicode est "désactivé" ( le masque #[^A-Za-z0-9[:space:]]+# est donc utilisé) le preg_replace fonctionne (après modification de la classe [:spaces:] en [:space:]). Par contre la regex unicode ne semble pas fonctionner même avec le masque donné par stealth35. Tous les caractères qui devraient être conservés sont retirés, par exemple : "Test" devient une chaîne vide. Le pattern que j'ai défini en fin de compte, utilisant les propriétés Unicode : Une idée ? Frédéric |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
fais plutôt l'inverse :
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 19 ![]() |
Oui effectivement cela fonctionne mieux même si je ne comprends pas trop pourquoi.
Les expressions sont pourtant équivalentes, non ? Merci beaucoup pour ton aide rapide et efficace ! Frédéric |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com