Bonjour tout le monde,
Je suis actuellement en train de réalisé en binôme une application en PHP CLI qui a pour but de... refaire un SGBDR.
Pour ça, nous en venons bien évidemment à vérifier la syntaxe des requêtes saisies par l'utilisateur, notamment lorsqu'il saisit une chaîne de caractère ! (nous devons gérer le type, mais pas la taille des champs)
Les contraintes :
Une chaîne de caractère d'un seul mot n'est pas forcément entourée de "
Une chaîne de caractères entourée de " peut accepter n'importe quelle valeur de n'importe quelle t'aille, y comprit les " échappés (\")
Voici la regex que j'ai actuellement pour valider cette syntaxe (qui ne marche pas bien évidemment, d'où mon problème)
Dans la partie du mot seul, je dis que j'ai besoin de n'importe quel caractères exceptés :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $pattern_string = '((".*?[^\\]")|([^\., \)]+))';
le point (qui n'existera que si on me spécifie une table.champ)
La virgule, l'espace, la parenthèse fermante : Ce sont des seuls caractères qui me permettent de savoir que ma valeur se termine pour continuer ma requête.
Comment puis-je faire en sorte de pouvoir donc valider une chaine de caractères entourés de doubles-quotes pouvant contenir des doubles-quotes échappées svp ?
Merci d'avance...
V3lkin.
Partager