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. #61
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 92
    Points : 22
    Points
    22
    Par défaut
    RideKick, j'ai une question : que signifie undefined offset ? car je rencontre le même soucis dans mon code et je ne sais pas le situer ..

  2. #62
    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
    undefined offset est une erreur qui s'affiche quand on essaie d'acceder a un index de tableau qui n'existe pas.

    Exemple :

    $Tableau à 4 index de 0 à 3, si j'essaie d'acceder a $Tableau[5] qui n'existe pas j'aurais cette erreur.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #63
    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
    une petite question, les partie tu les partage au hasard ?
    si je rajoute quelques choses, je met quoi quelle partie


    (
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo nl2br($results[0][0]); //Partie 1
    echo nl2br($results[0][1]); //Partie 2
    echo nl2br($results[0][2]); //Partie 2
    echo nl2br($results[0][3]); //Partie 2
    )

  4. #64
    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
    Les parties je ne les ai pas faite au hasard, je t'ai dis au tout début que je les avais découpées grâce au ________________________
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #65
    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
    Bonjour,
    alors la je n'y arrive plus
    en plus wamp ne m'affiche pas tout bien comme il faut, il me met toujours des erreurs comme dit avant.
    Et encore de plus, ils ont fait une nouvelle version et donc le rapport n'est plus pareil

  6. #66
    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

    Fait voir ton script et le nouveau rapport
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #67
    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, merci beaucoup de me suivre (et de me supporter )
    Donc le nouveau rapport ressemble a ceci :
    23/10 - Expéditeur: Etat Major Supprimer

    COMPTE RENDU DU COMBAT CONTRE M[o]nSteR

    Vous remportez le combat en gagnant sur 1 front(s) contre 0 pour l'attaque
    Vous volez 11541 de fuel, 3809 de kevlar, et 0 de nucléaire.
    Prime finale de: 2320 Or.

    ________________________________
    attaque front defense
    5001 Terrestre 2918
    effectif
    -5/100 La tactique de l'ennemi lui confère un gain de force.
    prime: 2320
    0 Blindé 14812

    prime: 0
    0 Naval 1800

    prime: 0
    0 air 0

    prime: 0


    L'attaquant obtiens un gain de force de 5% (furtivité supérieur a la défense)
    ________________________________
    Sont inclus dans les forces
    Bonus sur les terrestre : Furtivite(gymnase) +25/100 et Force(stand de tir) +25/100
    50 médecins: -7% de pertes sur les troupes
    ________________________________
    Sachant, qu'il peut y avoir autre options, qui ne sont pas noté, j'ai demander alors a quelques membres du jeu de m'envoyer leur rapport de combat afin que je puisse voir les differents "bonus" etc ... qu'il peut y a voir de marquer dans le rapport.
    quand au codes, bah je préfère remettre celui on on en était car la ou j'en suis j'ai tout ait plantée (attention, c'est donc le traitement de l'ancien rapport de combat).
    donc nous en somme là :
    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
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
     
    <?php
     
    $pattern1 = "#[a-z0-9 \s:é.,/\[\]\(\)'%+-]*[_\s ]*#i";
    $results=array();
    preg_match_all($pattern1,$_POST['rapportcoller'],$results);
     
     
    $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][0],$vainqueur);
    $results[0][0] = str_replace($vainqueur[1], "<b>$vainqueur[1]</b>",$results[0][0]);
     
    $pattern="#Vous remportez([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$resultats);
    $results[0][0] = str_replace($resultats[1], "<b>$resultats[1]</b>",$results[0][0]);
     
    $pattern="#en gagnant sur([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$preumsfront);
    $results[0][0] = str_replace($preumsfront[1], "<b>$preumsfront[1]</b>",$results[0][0]);
     
    $pattern="#contre([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$secfront);
    $results[0][0] = str_replace($secfront[1], "<b>$secfront[1]</b>",$results[0][0]);
     
    $pattern="#Vous volez ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$fuel);
    $results[0][0] = str_replace($fuel[1], "<b>$fuel[1]</b>",$results[0][0]);
     
    $pattern="#de fuel, ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$kevlar);
    $results[0][0] = str_replace($kevlar[1], "<b>$kevlar[1]</b>",$results[0][0]);
     
    $pattern="#de kevlar, et ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$nucleaire);
    $results[0][0] = str_replace($nucleaire[0], "<b>$nucleaire[1]</b>",$results[0][0]);
     
    $pattern="#Front terrestre: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][1],$terrestre);
    $results[0][1] = str_replace($terrestre[1], "<b>$terrestre[1]</b>",$results[0][1]);
     
    $pattern="#Front blindé: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][1],$blinde);
    $results[0][1] = str_replace($blinde[1], "<b>$blinde[1]</b>",$results[0][1]);
     
    $pattern="#Front naval: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][1],$naval);
    $results[0][1] = str_replace($naval[1], "<b>$naval[1]</b>",$results[0][1]);
     
    $pattern="#Front aérien: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][1],$aerien);
    $results[0][1] = str_replace($aerien[1], "<b>$aerien[1]</b>",$results[0][1]);
     
    $frontPattern = "#- Terrestre [a-zé\t -]*#i";
    preg_match($frontPattern,$results[0][2],$front);
    $listefront = explode(" ", $front[0]);
     
    $forcePattern = "#Force [0-9 -]*#i";
    preg_match($forcePattern,$results[0][2],$force);
    $listeforce = explode (" ", $force[0]);
     
     
    $furtivitePattern = "#Furtivité [0-9 -]*#i";
    preg_match($furtivitePattern,$results[0][2],$furtivite);
    $listefurtivite = explode (" ", $furtivite[0]);
     
     
    $couleurs=array("blue","red","yellow","#FFFFFF","green","pink"); //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 );
    $results[0][2] = str_replace($front[0], $strFront,$results[0][2]);
    $results[0][2] = str_replace($force[0], $strForce,$results[0][2]);
    $results[0][2] = str_replace($furtivite[0], $strFurtivite,$results[0][2]);
     
     
    $pattern="#Bonus sur les terrestre([a-z0-9_ ]*):#i";
    preg_match($pattern,$results[0][2],$bonusattaqueter);
    $results[0][2] = str_replace($bonusattaqueter[1], "<b>$bonusattaqueter[1]</b>",$results[0][2]);
     
    //$pattern="#Furtivite\(gymnase\) ([0-9_+/]*)#i";
    //preg_match($pattern,$results[0][2],$gymnaseattaque);
    //$results[0][2] = str_replace($gymnaseattaque[1], "<b>$gymnaseattaque[1]</b>",$results[0][2]);
     
    //$pattern="#Force\(stand de tir\) ([0-9_+/]*)#i";
    //preg_match($pattern,$results[0][2],$standtirattaque);
    //$results[0][2] = str_replace($standtirattaque[1], "<b>$standtirattaque[1]</b>",$results[0][2]);
     
    $pattern="#médecins([a-z0-9_ ]*:)#i";
    preg_match($pattern,$results[0][2],$medecinattaque);
    $results[0][2] = str_replace($medecinattaque[1], "<b>$medecinattaque[1]</b>",$results[0][2]);
     
    $pattern="#Bonus sur les blindés([a-z0-9_ ]*):#i";
    preg_match($pattern,$results[0][2],$bonusdefblind);
    $results[0][2] = str_replace($bonusdefblind[1], "<b>$bonusdefblind[1]</b>",$results[0][2]);
     
    //$pattern="#Force\(avant-poste\) ([0-9_+/]*)#i";
    //preg_match($pattern,$results[0][2],$forceavant);
    //$results[0][2] = str_replace($forceavant[1], "<b>$forceavant[1]</b>",$results[0][2]);
     
    //$pattern="#L'attaquant obtiens un gain de force de 5% ([a-z0-9_]*)#i";
    //preg_match($pattern,$results[0][2],$gainforce);
    //$results[0][2] = str_replace($gainforce[1], "<b>$gainforce[1]</b>",$results[0][2]);
     
     
     
    echo nl2br($results[0][0]); //Partie 1
    echo nl2br($results[0][1]); //Partie 2
    echo nl2br($results[0][2]); //Partie 2
    echo nl2br($results[0][3]); //Partie 2
     
     
    ?>
    PS: quand les claques se perdent n'hésite pas

  8. #68
    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 oué ça n'a plus rien a voir
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #69
    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
    Version spéciale fainéant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $result = $_POST['rapportcoller'];
     
    $pattern="#COMBAT CONTRE ([a-z0-9_\[\]]*)#i";
    preg_match($pattern,$result,$joueur);
    $result = str_replace($joueur[1], "<b>$joueur[1]</b>",$result);
     
    $result = preg_replace("#([0-9]{1,5})#i","<b>$1</b>",$result);
     
    echo nl2br($result); 
    ?>
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  10. #70
    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, ouais, sa me met quelques truck en gras, je vais essayer de continuer.
    Merci

    la on as un tableau :
    attaque front defense
    6284 Terrestre 3022

    que je vais essayer de faire a peu près comme ceci :
    attaque front defense
    6284 Terrestre 3022

    Bon bah j'ai essayer sa, en reprennant ce que tu avais fait avant :
    sa marche pas

    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
    <?php
    $result = $_POST['rapportcoller'];
     
    $pattern="#COMBAT CONTRE ([a-z0-9_\[\]]*)#i";
    preg_match($pattern,$result,$joueur);
    $result = str_replace($joueur[1], "<b>$joueur[1]</b>",$result); // le pseudo du joueur attaqué est marqué en gras.
     
    $result = preg_replace("#([0-9]{1,5})#i","<b>$1</b>",$result); // facultatif, sa met tout les nombres en gras.
     
    $detailPattern = "#Furtivité [0-9 -]*#i";
    preg_match($detailPattern,$results[0][2],$detail);
    $listedetail = explode (" ", $detail[0]);
     
    $couleurs=array("blue","red","yellow","#FFFFFF","green","pink"); //couleur de BBCODE
     
    for($i=1;$i<count($listedetail);$i++){
    $listedetail[$i]=  "[color=".$couleurs[$i]."]".$listedetail[$i]."[/color]";
    }
     
    $strDetail = implode(" ",$listedetail);
    $results[0][2] = str_replace($detail[0], $strDetail,$results[0][2]);
     
    echo nl2br($result);
    echo "<br />Rapport de combat mis en forme par : <a href='#'>NinJaX</a>"
    ?>

  11. #71
    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
    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
    <?php
    $result = $_POST['rapportcoller'];
     
    $pattern="#COMBAT CONTRE ([a-z0-9_\[\]]*)#i";
    preg_match($pattern,$result,$joueur);
    $result = str_replace($joueur[1], "<b>$joueur[1]</b>",$result); // le pseudo du joueur attaqué est marqué en gras.
     
     
     
    $detailPattern = "#(attaque front defense)\s*([0-9 a-z]*)#i";
    preg_match($detailPattern,$result,$detail);
     
    $listedetail = explode (" ", $detail[2]);
    $listeTitre = explode (" ", $detail[1]);
     
     
    $couleurs=array("blue","red","yellow","#FFFFFF","green","pink"); //couleur de BBCODE
     
    for($i=0;$i<count($listedetail);$i++){
    $listeTitre[$i]=  "[color=".$couleurs[$i]."]".$listeTitre[$i]."[/color]";
    $listedetail[$i]=  "[color=".$couleurs[$i]."]".$listedetail[$i]."[/color]";
    }
     
    $strDetail = implode(" ",$listedetail);
    $strtitre = implode(" ",$listeTitre);
    $result = str_replace($detail[0],$strtitre."\r".$strDetail,$result);
     
    $result = preg_replace("#([0-9]{1,5})#i","<b>$1</b>",$result); // facultatif, sa met tout les nombres en gras.
    echo nl2br($result);
    echo "<br />Rapport de combat mis en forme par : <a href='#'>NinJaX</a>";
    ?>
    ça t'arrive de faire attention à ce que les noms de variables correspondent un minimum ?
    genre tu avais des results[x] qui sortait de nullepart ...
    Tu fais aussi une boucle sur les couleurs mais par un mystère inconnu tu pars de l'indice 1 au lieu de 0 ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  12. #72
    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
    De rien ....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  13. #73
    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, j'ai eu de gros souci avec mon pc, je ne pouvais pas avertir, j'en suis désolé.
    Je vais pouvoir m'y remettre.
    Bonne journée et merci beaucoup pour l'aide.

  14. #74
    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
    Bonjour, j'avais laisser ce petit script de coté, mais je souhaite aujourd'hui m'y remettre dedans.

    J'ai recommencer un peu, car il y a eu encore un nouveau affichage du rapport de combat

    J'en suis la (ca plante encore un peu) :

    Index.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" action="./converter.php">
    		<label for="rapport_coller">Collez ici le rapport de combat</label><br />
    		<textarea name="rapport_coller" id="rapport_coller" rows="10" cols="50" value=""></textarea>
    		<br />
    		<input type="submit" value="Envoyer" />
    </form>

    converter.php
    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
    <?php
    $rapport_coller = '';
    if (!empty ($_POST['rapport_coller'])) {
    $rapport_coller = $_POST['rapport_coller'];
    }
     
    // PARTIE 1 :
     
    $pattern1 = "#[a-z0-9 \s:é.,/\[\]\(\)'%+-]*[_\s ]*#i";
    $results=array();
    preg_match_all($pattern1,$rapport_coller,$results);
     
    $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="#Vous ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$remporteornot);
    $results[0][0] = str_replace($remporteornot[1], "<b>$remporteornot[1]</b>",$results[0][0]);
     
    $pattern="#le combat en ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$gagneornot);
    $results[0][0] = str_replace($gagneornot[1], "<b>$gagneornot[1]</b>",$results[0][0]);
     
    $pattern="#sur ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$nbr_front);
    $results[0][0] = str_replace($nbr_front[1], "<b>$nbr_front[1]</b>",$results[0][0]);
     
    $pattern="#contre ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$nbr_front_att);
    $results[0][0] = str_replace($nbr_front_att[1], "<b>$nbr_front_att[1]</b>",$results[0][0]);
     
    $pattern="#Prime finale de: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][0],$prime_finale);
    $results[0][0] = str_replace($prime_finale[1], "<b>$prime_finale[1]</b>",$results[0][0]);
     
    // PARTIE 2 :
     
    $afdPattern = "#attaque [a-zé\t -]*#i";
    preg_match($afdPattern,$results[0][1],$tableau);
    $listeafd = explode(" ", $tableau[0]);
     
    $couleurs=array("blue","red","yellow","#FFFFFF","green","pink"); //tout ce qui entre dans un code BB
     
    for($i=1;$i<count($listeafd);$i++){
    $listeafd[$i]=  "[color=".$couleurs[$i]."]".$listeafd[$i]."[/color]";
    }
     
    $strAfd = implode(" ",$listeafd);
    $results[0][1] = str_replace($tableau[0], $strAfd,$results[0][1]);
     
    $pattern="#Votre tactique repousse l'ennemi et vous apporte un gain de force de ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][1],$tactique_ft);
    $results[0][1] = str_replace($tactique_ft[1], "<b>$tactique_ft[1]</b>",$results[0][1]);
     
    $pattern="#effectif: ([a-z0-9_]*)#i";
    preg_match($pattern,$results[0][1],$effectif);
    $results[0][1] = str_replace($effectif[1], "<b>$effectif[1]</b>",$results[0][1]);
     
    $pattern="#prime: [0-9 -]*#i";
    preg_match($pattern,$results[0][1],$prime_ft);
    $results[0][1] = str_replace($prime_ft[1], "<b>$prime_ft[1]</b>",$results[0][1]);
     
     
    // Affichage final :
     
    echo nl2br($results[0][0]); //Partie 1
    echo nl2br($results[0][1]); //Partie 2
    Exemple de rapport de combat
    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
    0/03 - Expéditeur: Etat Major Supprimer
     
     
    COMPTE RENDU DU COMBAT CONTRE titil
     
    Vous remportez le combat en gagnant sur 4 front(s) contre 0 pour l'attaque.
    Prime finale de: 35640 Or.
     
    ________________________________
    attaque front defense
    1916 Terrestre 5560
    Votre tactique repousse l'ennemi et vous apporte un gain de force de 7% effectif:
    -5/100
    prime: 1360
     
    --------------------------------------------------------------------------------
     
    17075 Blindé 30650
    Votre tactique repousse l'ennemi et vous apporte un gain de force de 7% effectif:
    -5/100
     
    prime: 5500
     
    --------------------------------------------------------------------------------
     
    6300 Naval 9942
    Votre tactique vous confère un gain de force de 7%. effectif:
    -9/100)
     
    prime: 10080
     
    --------------------------------------------------------------------------------
     
    9290 air 10908
    Votre tactique repousse l'ennemi et vous apporte un gain de force de 7% effectif:
    -12/100)
     
    prime: 18700
     
     
    Sont inclus dans les forces et les pertes:
    La défense obtiens un gain de force de 5% (furtivité supérieur a l'attaquant)
    Bonus sur les terrestre : Furtivite(gymnase) +25/100 et Force(stand de tir) +25/100
    Bonus sur les blindés : Force(avant-poste) +25/100
    57 médecins: -7% de pertes sur les troupes
    23 sapeurs: -5% de pertes sur le front blindés.
    ________________________________

Discussions similaires

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

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