Problème nom de dossier avec preg_match

Répondre
laura
le 03/10/2009 à 11:47
laura
Bonjours à tous,
Je viens d'avoir un petit problème avec les expressions réguliaire :/ j'ai du mal à bien comprendre comment elles fonctionnent.
Je veux exclure les symboles / \ : * ? " < > | j'ai donc fait ceci mais ça n'a pas l'air de fonctionner. Je ne comprends pas pourquoi

<?php 
function nom_dossier($nom)
{
return preg_match('![/\:*?"<>|]!',$nom) ? false : true;
}

var_dump(nom_dossier('test.php'));
var_dump(nom_dossier('te\st.php'));
php?>

le résultat

bool(true)
bool(true)
si quelqu'un à une idée
Des étoiles dans les yeux, le ciel pour m'évader
LA GLOBULE
le 03/10/2009 à 12:20
LA GLOBULE
Ceci devrait mieux fonctionner :

<?php
function nom_dossier($nom)
{
return preg_match('![\/\\\:\*\?"<>|]!',$nom) ? false : true;
}
?>


En fait, dans ton masque de caractères à éviter, tu utilises des caractères spéciaux aux expressions régulières.
Ces caractères, tu dois les échapper avec un \.
laura
le 03/10/2009 à 13:03
laura
ça marche merveilleusement bien.
Les expressions régulières c'est un peu ma bête noire smiley
Merci c'est très gentil.
Des étoiles dans les yeux, le ciel pour m'évader
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours