IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[CSV] Analyse des caracteres d'une chaine


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Points : 187
    Points
    187
    Par défaut [CSV] Analyse des caracteres d'une chaine
    Bonjour tout le monde,

    je voudrais selectionner des caracteres d'une source HTML. Il y a plusieurs solutions de faire à ma connaissance :
    - soit enlever les balises HTML
    - soit les laisser
    avec fgets ou g fgetss.
    Seulement si j'enléve ces balises, ça va m'embêter pour le tri que je dois faire après, je m'explique avec un exemple. Et si vous avez d'autres idées à partir de fonction PHP, je suis à votre écoute.

    En fait si le nombre qui suit : "Nombre de MIC boucles" ou "Nombre de MIC indisponibles" est différent de 0, je dois m'en occuper, en selectionnant ce qui suite, car la page HTML affiche un tableau, et moi je dois mettre en base en fonction de ce chiffre.

    Le début de ma source est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <CENTER><TABLE BORDER=1 BGCOLOR=#FFFFFF><TR ALIGN=CENTER><TD WIDTH=100><FONT COLOR=#000000>AM15</FONT></TD><TD COLSPAN=3 WIDTH=300><FONT COLOR=#000000>Nombre de MIC boucles : 0</FONT></TD></TR></TABLE><FONT COLOR=#000000>Type:Mixte/Entrant/Sortant</FONT></CENTER>
    <CENTER><TABLE BORDER=1 BGCOLOR=#FFFFFF><TR ALIGN=CENTER><TD WIDTH=100><FONT COLOR=#000000>AM15</FONT></TD><TD COLSPAN=3 WIDTH=300><FONT COLOR=#000000>Nombre de MIC bloques : 0</FONT></TD></TR></TABLE><FONT COLOR=#000000>Type:Mixte/Entrant/Sortant</FONT></CENTER>
    <CENTER><TABLE BORDER=1 BGCOLOR=#FFFFFF><TR ALIGN=CENTER><TD WIDTH=100><FONT COLOR=#000000>AM15</FONT></TD><TD COLSPAN=3 WIDTH=300><FONT COLOR=#000000>Nombre de MIC indisponibles : 3</FONT></TD></TR><TR ALIGN=CENTER><TD WIDTH=100><FONT COLOR=#000000>Mic</FONT></TD><TD WIDTH=100><FONT COLOR=#000000>ACR</FONT></TD><TD WIDTH=100><FONT COLOR=#000000>Type</FONT></TD><TD WIDTH=100><FONT COLOR=#000000>Numero URA</FONT></TD></TR><TR ALIGN=CENTER><TD><FONT COLOR=#000000>104</FONT></TD><TD><FONT COLOR=#000000>6-19</FONT></TD><TD><FONT COLOR=#000000>CEPT</FONT></TD></TR><TR ALIGN=CENTER><TD><FONT COLOR=#000000>640</FONT></TD><TD><FONT COLOR=#000000>0-2</FONT></TD><TD><FONT COLOR=#000000>CEPT</FONT></TD></TR><TR ALIGN=CENTER><TD><FONT COLOR=#000000>530</FONT></TD><TD><FONT COLOR=#000000>9-10</FONT></TD><TD><FONT COLOR=#000000>CEPT</FONT></TD></TR></TABLE><FONT COLOR=#000000>Type:CEPT/CSN/URA</FONT></CENTER>
    Donc moi j'ai pensé faire un mb_substr() en regardant s'il y avait "Nombre de MIC bloques : " et après faire un traitement, mais la je suis bloqué et j'ai besoin d'un peu d'aide.

    Merci d'avance !!!
    L'eau est un liquide si corrosif, qu'une seule goutte suffit pour troubler le pastis.

  2. #2
    Membre habitué Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Points : 187
    Points
    187
    Par défaut
    En fait la solution que je pense faire, c'est par exemple pour la 3ème ligne du morceau de code HTML que je vous ai mis. Si je trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "</FONT></TD><TD COLSPAN=3 WIDTH=300><FONT COLOR=#000000>Nombre de MIC indisponibles"
    Je sélectionne le chiffre qui suit, s'il est supérieur à 0, je selectionne ce qui est entre balises. Le problème c'est que ce n'est jamais la même taille. Comment puis-je sélectionner dans ce cas de figure?


    Deuxiément, ce qui pourrait fortement m'aider. En faisant un fgetss (qui me tire mes balises HTML), il n'y a pas moyen de mettre un ";" entre toutes les balises tirer pour me faire une sorte de fichier CSV? car là si je tire les balises, ça me crée une chaine d'une ligne que je ne peux plus vraiment trier...
    L'eau est un liquide si corrosif, qu'une seule goutte suffit pour troubler le pastis.

  3. #3
    Membre habitué Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Points : 187
    Points
    187
    Par défaut
    Je vais réexpliquer plu simplement mon problème, car je ne pense que ce soit compliqué. En fait je pars d'un fichier HTML que je dois traiter si le chiffre est différent de 0 suite à une chaine de caractére prédéfini (je sais le faire ça). Le problème c'est qu'il faut que j'arrive à compter le nombre de caractères qu'il y a dans les champs que je dois saisir, car les balises HTML ce sont toujours les mêmes donc elles font toujours la meme taille, donc avec des mb_substr c'est bon je choisis ce que je veux. Exemple commenté ci-après :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    ------------------------------------
    Nom des colonnes dans le fichier HTML, Nombre de MIC boucles est à 2, donc il fau traiter la suite...
    ------------------------------------
    <CENTER><TABLE BORDER=1 BGCOLOR=#FFFFFF><TR ALIGN=CENTER><TD WIDTH=100><FONT COLOR=#000000>
    AM15</FONT></TD><TD COLSPAN=3 WIDTH=300><FONT COLOR=#000000>
    Nombre de MIC boucles : 2</FONT></TD></TR><TR ALIGN=CENTER><TD WIDTH=100><FONT COLOR=#000000>
    NFSC</FONT></TD><TD WIDTH=100><FONT COLOR=#000000>
    Mic-Voie</FONT></TD><TD WIDTH=100><FONT COLOR=#000000>
    ACR</FONT></TD><TD WIDTH=100><FONT COLOR=#000000>
    Type</FONT></TD></TR><TR ALIGN=CENTER><TD><FONT COLOR=#000000>
     
    --------------------------
    portion a recuperer, de longueur variable qu'il faut que je connaisse..., ce qui entre balise je l'enleve mais ce sera de longueur constante, donc je peux l'enlever...
    ------------------------
    RT75G</FONT></TD><TD><FONT COLOR=#000000>
    842-2</FONT></TD><TD><FONT COLOR=#000000>
    8-15</FONT></TD><TD><FONT COLOR=#000000>
    Mixte</FONT></TD></TR><TR ALIGN=CENTER><TD><FONT COLOR=#000000>
     
    ---------------------
    meme principe que au dessus, ligne a recuperer de longueur constante...
    ------------------
    AM44G</FONT></TD><TD><FONT COLOR=#000000>
    203-13</FONT></TD><TD><FONT COLOR=#000000>
    14-4</FONT></TD><TD><FONT COLOR=#000000>
    Mixte</FONT></TD></TR></TABLE><FONT COLOR=#000000>
    L'eau est un liquide si corrosif, qu'une seule goutte suffit pour troubler le pastis.

  4. #4
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 853
    Points
    2 853
    Par défaut
    Pas la peine de poser 10 post pour le même sujet ...

Discussions similaires

  1. Travailler des caracteres sur une chaine
    Par hibou28 dans le forum VB.NET
    Réponses: 6
    Dernier message: 17/11/2009, 21h02
  2. Comment suprimer des caractere dans une chaine.
    Par daduck dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/08/2008, 10h35
  3. suppression des caracteres d'une chaine
    Par wafber dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/10/2007, 17h19
  4. Réponses: 3
    Dernier message: 31/01/2005, 23h18
  5. [langage] compter des caracteres dans une chaine
    Par louisis dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2004, 22h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo