Est-ce qu'une chaine est valide ?
berkovitz
-
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche à analyser, si une chaine est valide dans plusieurs cas de figure différent.
Mais j'aimerais éviter d'avoir à tester si chaque caractère est entre x et y, ou si count_chars retourne 1 ou ceci mais 0 pour cela.
En fait je cherche à valider la syntaxe pour un fichier de conf, que les utilisateurs pourront modifier, et il ne faut pas l'enregistrer s'ils ont fait une erreur.
un exemple:
si la ligne commence par le caractère '[' alors elle doit se terminer par ']' et doit contenir une fois (et une fois seulement) ':' et au minimum une fois '/'. Le texte se trouvant entre '[' et ':' ne doit contenir que a-z , A-Z 0-9 et '-' et '_'
et si on tombe sur '#' (le signe pour les commentaire) il doit se trouver après ']'
Comment différencier du text valide ( "sapristi-04" ) du texte invalide, ("sapristi.04"/"sapristi!04"/"sapristi+04"/ect... ) sans avoir à scanner toutes les lettres et de lever-baisser des flags ?
J'ai regardé un peu niveau filter_var mais à priori rien ne correspond.
Donc au final dans cette chaine, on a un peu de tout. des caractères spéciaux , qu'on peut rencontrer un peu partout , dont certain peuvent être valide, d'autre pas.
Merci pour votre aide.
Je cherche à analyser, si une chaine est valide dans plusieurs cas de figure différent.
Mais j'aimerais éviter d'avoir à tester si chaque caractère est entre x et y, ou si count_chars retourne 1 ou ceci mais 0 pour cela.
En fait je cherche à valider la syntaxe pour un fichier de conf, que les utilisateurs pourront modifier, et il ne faut pas l'enregistrer s'ils ont fait une erreur.
un exemple:
si la ligne commence par le caractère '[' alors elle doit se terminer par ']' et doit contenir une fois (et une fois seulement) ':' et au minimum une fois '/'. Le texte se trouvant entre '[' et ':' ne doit contenir que a-z , A-Z 0-9 et '-' et '_'
et si on tombe sur '#' (le signe pour les commentaire) il doit se trouver après ']'
Comment différencier du text valide ( "sapristi-04" ) du texte invalide, ("sapristi.04"/"sapristi!04"/"sapristi+04"/ect... ) sans avoir à scanner toutes les lettres et de lever-baisser des flags ?
J'ai regardé un peu niveau filter_var mais à priori rien ne correspond.
Donc au final dans cette chaine, on a un peu de tout. des caractères spéciaux , qu'on peut rencontrer un peu partout , dont certain peuvent être valide, d'autre pas.
Merci pour votre aide.
A voir également:
- Est-ce qu'une chaine est valide ?
- Ethernet n'a pas de configuration ip valide - Guide
- Chaine tnt gratuite sur mobile - Guide
- Chaine radio - Télécharger - Médias et Actualité
- Le nom de fichier spécifié n'est pas valide ou est trop long ✓ - Forum Windows
- Plus de chaine tv - Guide