PHP verification du format

Bonjour,
Alors je fait une petite application, je vais recevoir des données sous la forme

quelquechose;quelquechose;quelquechose;quelquechose;quelquechose;quelquechose

donc j'aimerai verifier que c'est bien de cette forme

j'ai pensé a faire un

if(*";"*";"*";"*";"*";"* = donnéereçu) {
gnagnagna
}

(je sais pas si sa marche et si le caractere * veux bien dire "nimportequoi")

Voila donc si vous pouviez me donner un petit coup de main ?

(sa doit pas etre bien dure je sais le faire en bash mais la en php je sais plus trop j'ai des doute :s)

Merci d'avance
Configuration: Windows 2000
Firefox 3.0.1

6 réponses

  1. En gros,
    Je fait un bot irc,

    Une personne parle au bote et lui dis :

    !add Noobteam;joueur1;joueur2;joueur3;joueur4;joueur5

    mon bot verifie la forme et si elle est correct elle pv la phrase telquel a l'admin

    pour toute la partis irc et renvois de la phrase aucun problème
    mais le test du forma me soul un max je sais le faire trankilou en bash mais en php je me suis trouvé con devant mon code.

    voila :)
    1. Ok ok. Ben je sais pas si ça fera ce que je t'ai filé mais en théorie, ça devrait bien marcher.
  2. Merci je comprend un peu mieux :)
    1. Je suis pas pro du tout en regex et j'ai pas le temps de chercher donc si quelqu'un passe et te donne le truc, tu pourras le tester aussi.

      Mais sinon, avec ma méthode tu peux tester et faire des actions sur chaque chaine. Je sais pas ce que tu cherches à faire à part la valider, mais cette méthode extrait les sous-chaines et te donne la possibilité de les travailler. Donc ben bon courage ;)
  3. En fait, tu pourrais aussi faire une "regex". Laisse moi deux minutes que j'essaie ;)
    1. $mesinfos = "salut;bonjour;blabla;une phrase"; //la chaine de caractères qui contient des infos (formatée avec un ; pour séparer)
      $infosseparees = explode(";", $mesinfos); //séparer toutes les sous-chaines de la chaine de caractère du dessus en retirant le ; et en plaçant chaque mot/phrase séparément dans un array

      $compteur=0; // un compteur pour parcouir le array

      while ($compteur<sizeof($infosseparees)){ //tant que le compteur est plus petit que la taille du array
      if (trim($infosseparees[$compteur])==""){ //on vérifie si la chaine est vide car c'est ce que tu voulais
      //si c'est vide, une action
      }else{ //si c'est pas vide
      // une action
      }
      $compteur++; //on incrémente le compteur pour continuer
      }

      Pour mieux te montrer le explode, quand tu prends ta chaine séparée avec des points virgules, il te retourne un array qui ressemble à ca:

      $infosseparees[0] //contient: salut
      $infosseparees[1] //contient: bonjour
      $infosseparees[2] //contient: blabla
      $infosseparees[3] //contient: une phrase
      1. erf ya pas un truc aussi facile qu'en bash? :/ cay nulle erf

        tu peux commenter un tout petit peux plus son code stp :)
        1. Comme ça:

          $mesinfos = "salut;bonjour;blabla;une phrase";
          $infosseparees = explode(";", $mesinfos);

          $compteur=0;

          while ($compteur<sizeof($infosseparees)){
          if (trim($infosseparees[$compteur])==""){
          //si c'est vide, une action
          }
          $compteur++;
          }
          EDIT: J'ai ajouté "trim" car si ton info est un espace vide, il sera aussi traité comme du vide (""). Je ne pense pas qu'un espace vide soit vraiment valide non plus. Tu peux l'enlever si tu l'acceptes.

          Discussions similaires

          question pix mot caché

          7 réponses