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 :

Analyser du texte


Sujet :

Langage PHP

  1. #21
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Citation Envoyé par yooyoo Voir le message
    me re-voilà, les administrateurs ayant trop de boulot n'ont pas le temps de faire la sorti en XML ...

    je serait donc obligé de faire la façon la plus compliqué.
    Incendie-les !
    Parce que bon, changer ce format texte anarchique en un fichier xml structuré, ça prends pas trois plombes non plus.

    Et tu peux même leur simplifier le travail en faisant une hiérarchisation du fichier xml, eux n'auront plus qu'à transformer leur petit bout de code, ce qui est très rapide à faire comme manip.

    Bon courage.

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Xunil Voir le message
    Incendie-les !
    Parce que bon, changer ce format texte anarchique en un fichier xml structuré, ça prends pas trois plombes non plus.

    Et tu peux même leur simplifier le travail en faisant une hiérarchisation du fichier xml, eux n'auront plus qu'à transformer leur petit bout de code, ce qui est très rapide à faire comme manip.

    Bon courage.
    oula, oui mais la je suis encore plus perdu avec le XML

    en fait je comprend pas non plus la "hiérarchisation"

  3. #23
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    La on s'ecarte du sujet ......

    Rappel :

    - tu as du texte séparé en plusieurs parties délimitées par ______
    - tu as maintenant réussi à le découper en partie

    Il te reste :

    - Colorer certains mots clefs dans les premières parties

    Sachant que chaque partie a une somme de texte fixe et quelques variables tu n'as pas trop de problèmes a trouver ce que tu veux

    Bon prenons un exemple :
    Votre attaque sur pipondiogoye
    07/07 - Expéditeur: Etat Major [Supprimer]

    COMPTE RENDU DU COMBAT CONTRE pipondiogoye

    Vainqueur sur le front terrestre

    Vainqueur sur le front blindé



    Vous remportez le combat en gagnant sur 2 front(s) contre 0 pour l'attaque
    Vous volez 96 de fuel, 52 de kevlar, et 0 de nucléaire.
    tu veux en faire :

    Votre attaque sur pipondiogoye
    07/07 - Expéditeur: Etat Major [Supprimer]

    COMPTE RENDU DU COMBAT CONTRE pipondiogoye

    Vainqueur sur le front terrestre

    Vainqueur sur le front blindé




    Vous remportez le combat en gagnant sur 2 front(s) contre 0 pour l'attaque
    Vous volez 96 de fuel, 52 de kevlar, et 0 de nucléaire.
    Donc pour la première ligne tu vas chercher ce qui se trouve après COMBAT CONTRE et changer sa police :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i";
    preg_match($pattern,$partie[0],$joueur);
    $partie[0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$partie[0]);
    NB : je n'ai pas testé le code donc peut y avoir un couac ()
    NB2 : ce même code peut être fait entièrement par regexp avec preg_replace() mais je trouve que la découpe permet de mieux comprendre.

    Maintenant tu peux t'inspirer de ça pour faire la suite.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  4. #24
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    salut oui, c'est assez compréhensible, je vais maintenant, essayer de faire la suite, voir si j'y arrive tout seul, si je coince je revient

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    Salut, alors la il y a un petit truck que je comprend pas trop :
    j'en suis à sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $pattern1 = "#[a-z0-9 \s:é.,/\[\]\(\)'%+-]*[_\s ]*#i";
    $results=array();
    preg_match_all($pattern1,$content,$results);
     
    echo $results[0][0]; //Partie 1
    echo $results[0][2];// Partie 2
    echo $results[0][3]; //Partie 3
    echo $results[0][4]; //Partie 4
    ?>
    et sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i";
    preg_match($pattern,$partie[0],$joueur);
    $partie[0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$partie[0]);
    ?>
    en fait, les variables sont pas les même la donc je me suis un peu perdu, qui est avec quoi la ?

  6. #26
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    oui pardon je n'ai meme pas fais l'effort de reprendre les bons termes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$joueur);
    $results[0][0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$results[0][0]);
    ?>
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    par contre la sa devient plu compliqué alors, car a ces lignes :

    Vainqueur sur le front terrestre

    Vainqueur sur le front blindé


    soit on gagne soit on perd, donc ce n'est pas pareil, ca ne va pas être de la même façon dont tu as fait

  8. #28
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    tu change juste le pattern :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pattern="#sur le front ([a-z0-9_]*)#i";
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    merci
    sinon, plus haut tu m'as mis cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i";
    preg_match($pattern,$partie[0],$joueur);
    $partie[0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$partie[0]);
    mais euh .... au lieu de ce n'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "&#91;b&#93;&#91;/b&#93;"
    pour les forum ?

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    Sinon, la j'en suis a là :
    (je suis pas trop sûr de moi sur ces coups la donc je poste avant de faire n'importe quoi )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$joueur);
    $results[0][0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$results[0][0]);
     
    $pattern="#sur le front ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][2],$vainqueur);
    $results[0][2] = str_replace($vainqueur[2], "<b>$vainqueur[2]</b>",$results[0][2]);
     
    $pattern="#Vous([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][3],$resultats);
    $results[0][3] = str_replace($resultats[3], "$resultats[3]",$results[0][3]);
    ?>

  11. #31
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par yooyoo Voir le message
    merci
    sinon, plus haut tu m'as mis cela :



    mais euh .... au lieu de ce n'est pas pour les forum ?
    Si si tout à fait.
    Tu peux faire les 2 , le <b> pour tester toit a l'écran que ça fonctionne bien sinon tu peux directement mettre les [b]



    Citation Envoyé par yooyoo Voir le message
    Sinon, la j'en suis a là :
    (je suis pas trop sûr de moi sur ces coups la donc je poste avant de faire n'importe quoi )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$joueur);
    $results[0][0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$results[0][0]);
     
    $pattern="#sur le front ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][2],$vainqueur);
    $results[0][2] = str_replace($vainqueur[2], "<b>$vainqueur[2]</b>",$results[0][2]);
     
    $pattern="#Vous([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][3],$resultats);
    $results[0][3] = str_replace($resultats[3], "$resultats[3]",$results[0][3]);
    ?>
    J'ai pas le temps de tester de suite, j'aurais de la dispo semaine prochaine mais ça m'a l'air bien , tu as essayé d'afficher à l'écran ? ça donne ce que tu veux ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  12. #32
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    J'ai tester en local, lorsque je valide il se passe rien, donc bon, je continue et je testerais a la fin

  13. #33
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par yooyoo Voir le message
    J'ai tester en local, lorsque je valide il se passe rien, donc bon, je continue et je testerais a la fin
    Il faut quand meme faire quelques echo sinon tu ne verras rien en effet.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  14. #34
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    oui oui j'ai mis les echo ^^
    j'en suis sûr que c'est tout bête, d'une erreur complètement bête de ma part ^^

  15. #35
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    Salut, alors la j'en suis à sa :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php
    $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$joueur);
    $results[0][0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$results[0][0]);
     
    $pattern="#sur le front ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][2],$vainqueur);
    $results[0][2] = str_replace($vainqueur[2], "<b>$vainqueur[2]</b>",$results[0][2]);
     
    $pattern="#Vous rempoortez([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][3],$resultats);
    $results[0][3] = str_replace($resultats[3], "<b>$resultats[3]</b>",$results[0][3]);
     
    $pattern="#en gagnant sur([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][4],$preumsfront);
    $results[0][4] = str_replace($preumsfront[4], "<b>$preumsfront[4]</b>",$results[0][4]);
     
    $pattern="#contre([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][5],$secfront);
    $results[0][5] = str_replace($secfront[5], "<b>$secfront[5]</b>",$results[0][5]);
     
    $pattern="#Vous volez ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][6],$$fuel);
    $results[0][6] = str_replace($fuel[6], "<b>$fuel[6]</b>",$results[0][6]);
     
    $pattern="#de fuel, ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][7],$kevlar);
    $results[0][7] = str_replace($kevlar[7], "<b>$kevlar[7]</b>",$results[0][7]);
     
    $pattern="#de kevlar, et ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][8],$nucleaire);
    $results[0][8] = str_replace($nucleaire[8], "<b>$nucleaire[8]</b>",$results[0][8]);
     
    $pattern="#Front terrestre: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][9],$terrestre);
    $results[0][9] = str_replace($terrestre[9], "<b>$terrestre[9]</b>",$results[0][9]);
     
    $pattern="#Front blindé: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][10],$blinde);
    $results[0][10] = str_replace($blinde[10], "<b>$blinde[10]</b>",$results[0][10]);
     
    $pattern="#Front naval: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][11],$naval);
    $results[0][11] = str_replace($naval[11], "<b>$naval[11]</b>",$results[0][11]);
     
    $pattern="#Front aérien: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][12],$aerien);
    $results[0][12] = str_replace($aerien[12], "<b>$aerien[12]</b>",$results[0][12]);
     
    ?>
    (j'espère qu'il y a du sans-faute (et pas cent fautes ^^))

    et j'en arrive à faire :

    CARACTERISTIQUES DE L'ATTAQUE

    - Terrestre Blindé Naval Aérien
    Force 508 1405 0 0
    furtivité 4499 - - -
    Sauf que la je ne sait pas trop comment faire pour séparer tout ça :S

  16. #36
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    alors la plus dur en effet.

    Une philosophie parmis tant d'autres :

    Tu recupere les 3 lignes suivantes :

    - Terrestre Blindé Naval Aérien
    Force 508 1405 0 0
    furtivité 4499 - - -
    tu fais la decoupe grace au espaces (explode(" ")) et tu te retrouve avec 3 tableaux contenants pour :

    le premier les types de vaisseaux
    le 2eme leur force
    le troisième leur furtivité

    tu n'as plus qu'a remplacé chaques textes aux index des tableau par le meme texte encadré d'unc couleur.

    Sachant que donc les index correspondent entre chaques tableaux tu vois ce que je veux dire ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  17. #37
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    bon bon bon j'en suis à ceci, :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $front = "Terrestre Blindé Naval Aérien";
    $listefront = explode(" ", $front);
     
    $force = "Force 0 0 0 0";
    $listeforce = explode (" ", $force);
     
    $furtivite = "Furtivité - - - -";
    $listefurtivite = explode (" ", $furtivite);
    je commence bien ?

    je n'ai jamais utiliser des explode avant, car j'avais pas tellement compris leurs utilisations, maintenant ca m'a donner une occasion de comprendre

    Pour la suite, ce n'est pas parce que tu explique mal (loin de la, la preuve j'ai tout de même avancé, je suis parti de rien), mais je n'ai pas compris

  18. #38
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    pour la suite utile il te faut un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $couleurs=array("blue","red","yellow","#FFFFFF"); //tout ce qui entre dans un code BB
    et tu vas parcourir les autres tableaux pour donner de la couleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for($i=1;$i=count($listefront);$i++){
    $listefront[$i] = "[color=".$couleurs[$i]."]".$listefront[$i]."[/color]";
    $listeforce [$i] = "[color=".$couleurs[$i]."]".$listeforce [$i]."[/color]";
    $listefurtivite [$i] = "[color=".$couleurs[$i]."]".$listefurtivite [$i]."[/color]";
    }
    De la tout est coloré, tu n'as plus qu'a remettre la ligne en place par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $strFront = implode(" ",$listefront);
    $strForce = implode(" ",$listeforce );
    $strFurtivite = implode(" ",$listefurtivite );
    Quelques remarques :

    - veilles bien a avoir au moins le même nombre de couleurs que de vaisseaux possible
    - tu peux faire ton parcours plus élégamment avec array_walk()
    - tu peux dans la boucle utiliser sprintf() plutôt que mixer les chaines et les variables
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  19. #39
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Ah oui : pour la première chaine oublie pas le - au départ sinon tu fausse les index :

    $front = "- Terrestre Blindé Naval Aérien";
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  20. #40
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Points : 19
    Points
    19
    Par défaut
    Salut c'est re-moi

    bon je pense que j'ai fini, il y auras certainement pas mal de choses a faire (rangement je croit et peut être [ je ne l'espère pas] des erreurs a corrigé )

    Voici le code que j'ai pour le moment

    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
    28
     
    <?php
    $pattern1 = "#[a-z0-9 \s:é.,/\[\]\(\)'%+-]*[_\s ]*#i";
    $results=array();
    preg_match_all($pattern1,$content,$results);
     
    echo $results[0][0]; //Partie 1
    echo $results[0][2]; //Partie 2
    echo $results[0][3]; //Partie 3
    echo $results[0][4]; //Partie 4
    echo $results[0][5]; //Partie 5
    echo $results[0][6]; //Partie 6
    echo $results[0][7]; //Partie 7
    echo $results[0][8]; //Partie 8
    echo $results[0][9]; //Partie 9
    echo $results[0][10];//Partie 10
    echo $results[0][11];//Partie 11
    echo $results[0][12];//Partie 12
    echo $results[0][13];//Partie 13
    echo $results[0][14];//Partie 14
    echo $results[0][15];//Partie 15
    echo $results[0][16];//Partie 16
    echo $results[0][17];//Partie 17
    echo $results[0][18];//Partie 18
    echo $results[0][19];//Partie 19
    echo $results[0][20];//Partie 20
    echo $results[0][21];//Partie 21
    ?>
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
     
    <?php
    $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$joueur);
    $results[0][0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$results[0][0]);
     
    $pattern="#sur le front ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][2],$vainqueur);
    $results[0][2] = str_replace($vainqueur[2], "<b>$vainqueur[2]</b>",$results[0][2]);
     
    $pattern="#Vous rempoortez([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][3],$resultats);
    $results[0][3] = str_replace($resultats[3], "<b>$resultats[3]</b>",$results[0][3]);
     
    $pattern="#en gagnant sur([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][4],$preumsfront);
    $results[0][4] = str_replace($preumsfront[4], "<b>$preumsfront[4]</b>",$results[0][4]);
     
    $pattern="#contre([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][5],$secfront);
    $results[0][5] = str_replace($secfront[5], "<b>$secfront[5]</b>",$results[0][5]);
     
    $pattern="#Vous volez ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][6],$$fuel);
    $results[0][6] = str_replace($fuel[6], "<b>$fuel[6]</b>",$results[0][6]);
     
    $pattern="#de fuel, ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][7],$kevlar);
    $results[0][7] = str_replace($kevlar[7], "<b>$kevlar[7]</b>",$results[0][7]);
     
    $pattern="#de kevlar, et ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][8],$nucleaire);
    $results[0][8] = str_replace($nucleaire[8], "<b>$nucleaire[8]</b>",$results[0][8]);
     
    $pattern="#Front terrestre: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][9],$terrestre);
    $results[0][9] = str_replace($terrestre[9], "<b>$terrestre[9]</b>",$results[0][9]);
     
    $pattern="#Front blindé: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][10],$blinde);
    $results[0][10] = str_replace($blinde[10], "<b>$blinde[10]</b>",$results[0][10]);
     
    $pattern="#Front naval: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][11],$naval);
    $results[0][11] = str_replace($naval[11], "<b>$naval[11]</b>",$results[0][11]);
     
    $pattern="#Front aérien: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][12],$aerien);
    $results[0][12] = str_replace($aerien[12], "<b>$aerien[12]</b>",$results[0][12]);
     
    $front = "- Terrestre Blindé Naval Aérien";
    $listefront = explode(" ", $front);
     
    $force = "Force 0 0 0 0";
    $listeforce = explode (" ", $force);
     
    $furtivite = "Furtivité - - - -";
    $listefurtivite = explode (" ", $furtivite);
     
    $couleurs=array("blue","red","yellow","#FFFFFF"); //tout ce qui entre dans un code BB
     
    for($i=1;$i=count($listefront);$i++){
    $listefront[$i] = "[color=".$couleurs[$i]."]".$listefront[$i]."[/color]";
    $listeforce [$i] = "[color=".$couleurs[$i]."]".$listeforce [$i]."[/color]";
    $listefurtivite [$i] = "[color=".$couleurs[$i]."]".$listefurtivite [$i]."[/color]";
    }
     
    $strFront = implode(" ",$listefront);
    $strForce = implode(" ",$listeforce );
    $strFurtivite = implode(" ",$listefurtivite );
     
    $pattern="#Bonus sur les terrestre : ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][13],$bonusattaqueter);
    $results[0][13] = str_replace($bonusattaqueter[13], "<b>$bonusattaqueter[13]</b>",$results[0][13]);
     
    $pattern="#Furtivite(gymnase) ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][14],$gymnaseattaque);
    $results[0][14] = str_replace($gymnaseattaque[14], "<b>$gymnaseattaque[14]</b>",$results[0][14]);
     
    $pattern="#/100 et ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][15],$separateurattaque);
    $results[0][15] = str_replace($separateurattaque[15], "<b>$separateurattaque[15]</b>",$results[0][15]);
     
    $pattern="#Force(stand de tir) ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][16],$standtirattaque);
    $results[0][16] = str_replace($standtirattaque[16], "<b>$standtirattaque[16]</b>",$results[0][16]);
     
    $pattern="#/100 ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][17],$separamedecinattaque);
    $results[0][17] = str_replace($separamedecinattaque[17], "<b>$separamedecinattaque[17]</b>",$results[0][17]);
     
    $pattern="#médecins: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][18],$medecinattaque);
    $results[0][18] = str_replace($medecinattaque[18], "<b>$medecinattaque[18]</b>",$results[0][18]);
     
    $pattern="#Bonus sur les blindés : ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][19],$bonusdefblind);
    $results[0][19] = str_replace($bonusdefblind[19], "<b>$bonusdefblind[19]</b>",$results[0][19]);
     
    $pattern="#Force(avant-poste) ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][20],$forceavant);
    $results[0][20] = str_replace($forceavant[20], "<b>$forceavant[20]</b>",$results[0][20]);
     
    $pattern="#L'attaquant obtiens un gain de force de 5% ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][21],$gainforce);
    $results[0][21] = str_replace($gainforce[21], "<b>$gainforce[21]</b>",$results[0][21]);
    ?>
    Voilà, donc maintenant, il me resteras aussi à mettre mes balise bbcode.

    et je n'ai pas encore trouver pour tester (je suis bête là).

Discussions similaires

  1. [RegEx] Analyser du texte non XML
    Par CyrilleB dans le forum Langage
    Réponses: 1
    Dernier message: 10/08/2010, 00h55
  2. Analyse de texte sur le site DELL
    Par VooDooNet dans le forum Langage
    Réponses: 3
    Dernier message: 04/01/2010, 18h08
  3. Analyser un texte
    Par fredu dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2009, 07h02
  4. Analyse du texte de puis outlook
    Par ilcocodrillo dans le forum VBA Word
    Réponses: 0
    Dernier message: 09/11/2007, 16h02
  5. [RegEx] Analyser un texte
    Par knoll dans le forum Langage
    Réponses: 4
    Dernier message: 21/03/2007, 17h47

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