Siol Posté 22 Mai 2006 Posté 22 Mai 2006 (modifié) Bonjour, Je doit resortir des données d'un fichier texte. Ce fichier comprend plusieurs statistiques au format "54%A" Qui s'ignifie 54% on marché avec A. Malheuresement il n'y a pas que sa sur le fichier txt mais aussi plusieurs commentaires. Je voudrais pourvoir sortir de la page en ligne les données entre "%". Mais comment faire ? Au final cela devrai donné "Insert "54%A" ... "Insert "12%B" ... "Insert "75%F" ... en boucle pour tout ceux du fichier txt. Merci. Cordialement. Modifié 22 Mai 2006 par Siol
TheRec Posté 22 Mai 2006 Posté 22 Mai 2006 Bonjour, peux-tu donner un exemple concret (voir l'entier, mais utilise le BBCode CODEBOX du texte de ton fichier) s'il te plaît ? La construction d'expressions régulières varie énormément en fonction des données qui entourent celles que tu souhaites extraire.
Siol Posté 22 Mai 2006 Auteur Posté 22 Mai 2006 Bonjour, Donc, je voudrais resortir les expréssion qui entoure %. Exemple dans le texte : "bla 15%B blablabla blabla bla blabla 84%C blabla 14%H blablablabla blablabla 14%C ..." Il faudrais que sa sorte : "Insert 15%B ..." "Insert 84%C ..." "Insert 14%H ..." "Insert 14%C ..." Je me suis bien expliquer ?
TheRec Posté 22 Mai 2006 Posté 22 Mai 2006 Cela donnerait quelque chose comme cela : $text = 'bla 15%B blablabla blabla bla blabla 84%Casd blabla 14%H blablablabla blablabla 14%C ...'; $text = preg_match_all('/([0-9]{1,3}[^\s]+)\s/i',$text,$matches); print_r($matches); $matches est un tableau que tu passe par référence à la fonction preg_match_all, il contient ensuite toutes les occurrences qui ont correspondu aux sous-masques (dans ce cas-là, il n'y en a qu'un, de sous-masque). J'ai supposé que ton pourcentage ne dépassait pas 3 chiffres et qu'il en faisait au moins 1. Et que la partie après le pourcentage était tout sauf un espace... à toi de voir comment faire varier cette expression pour coller à tes besoins, j'ai fait des suppositions, mais ça devrait te mettre sur la route au moins.
Siol Posté 22 Mai 2006 Auteur Posté 22 Mai 2006 Je n'ai pas précisé mais il a aussi infos en "unknow%D" ect. J'essaye de décortiquer tout sa là. Si vous avez un site ou c'est bien expliquer. Merci pour les réponses.
TheRec Posté 22 Mai 2006 Posté 22 Mai 2006 Franchement, donne-nous le fichier texte en entier (entre balises CODEBOX) qu'on puisse identifier les contraintes nous-mêmes, cela sera plus facile.
Siol Posté 22 Mai 2006 Auteur Posté 22 Mai 2006 (modifié) Je croi que c'est bon. Dit moi ce que tu en pense : $text = preg_match_all('/([a-zA-Z0-9._-]{1,25}+%[a-zA-Z0-9._-]+)\s/i',$text,$matches); Alors ? EDIT TheRec,Modérateur: Pour les codes courts, il est préférable d'utiliser la balise CODE Désolé si je t'ai induit en erreur, mais je parlais de ton fichier texte lorsque j'évoquais la balise CODEBOX. Modifié 22 Mai 2006 par TheRec
TheRec Posté 22 Mai 2006 Posté 22 Mai 2006 J'en pense que du bien...si cela correspond à tes besoins Comme je n'ai pas vu l'entier du fichier texte, je ne peux pas juger de l'efficacité de ce masque dans tous les cas de figures possibles.
Siol Posté 22 Mai 2006 Auteur Posté 22 Mai 2006 Sa a l'air de bien marché. Merci beaucoup , tjr là quand il faut
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant