Partage
  • Partager sur Facebook
  • Partager sur Twitter

recuperation de chaine de caracteres

php chaine valeur memoire pgn tag syntaxe

Sujet résolu
    28 mai 2017 à 19:26:59

    Je travail sur les tags des fichiers pgn, (affichage des parties d'échecs), ELO, BLACK, COUNTRY,BOARD,BLACKNA..., le tags est récupérer et s'affiche sous la forme forme par exemple, <span id='PlayerWhiteCountry'></span> et affiche par exemple FRA (...), j'ai un répertoire avec des drapeau png (par exemple drapeau de la France porte le nom de FRA.png etc... de l'Algérie ALG.pgn).
    Ce que je veux c'est remplacer l'Alphanumérique par l'image.
    <img src="flag/172-country-flag-icons-48/ALG.png" style="padding-top:10px">   Test...   ok  image affichée,
      <?php  $v="<span id='PlayerWhiteCountry'></span>"; echo $v; ?>  Test ... ok Test récupéré ALG

    ... Et maintenant  echo ' <img src="flag/172-country-flag-icons-48/'.$v.'png ">'
    et avec firefox (examiner l element ) : [<img src="flag/172-country-flag-icons-48/<span id='PlayerWhitecountry'></span> .png ">]
    et <?php echo $v ?> Affiche ALG (merci pour l'aide)
    Le RST que je cherche est [<img src="flag/172-country-flag-icons-48/<span id='PlayerWhitecountry'></span> .png ">]
                                               <img....................................................48/ALG.png">

    • Partager sur Facebook
    • Partager sur Twitter
      29 mai 2017 à 15:12:04

      Bonjour,

      Ton message n'est pas très clair, mais si tu mets <span id='PlayerWhiteCountry'></span> dans ta variable $v c'est cela qui va s'afficher ... et rien d'autre ...

      Dans ce que tu écris, à aucun moment on ne voit où tu dois retrouver les trois lettres du pays (ALG, FRA, etc.) ...

      Tu veux systématiquement remplacer <span id='PlayerWhiteCountry'></span> par ALG ?

      -
      Edité par Benzouye 29 mai 2017 à 15:12:18

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        30 mai 2017 à 10:40:59

        Merci Benzouye, j ai aussi exploité cette piste, en créant un CSS et un background pour chaque valeur ALG,FRA ... le problème est le suivant php retourne une exprimé et non évalué, du genre exemple, pour 2+3
        au niveau php qui est une sous couche incluse et voyage dans l'HTML: retourne toujours 2+3
        Direct au niveau HTML je retrouve 5 (qui est l'expression FRA, ALG etc...)sans l' expression évaluée <?php ...  , je ne sais comment réaliser ce grap direct du rst au niveau php.

        Dans les pgn(s), chaque partie porte un ensemble de tag, et les tags ajouté sont automatiquement retourné par la visionneuse, à condition de les initialisés pour pouvoir les récupéré, j'avoue que je sèche sur cette question, pour le moment je creuse un peu côté javascript;  merci.
        https://fr.wikipedia.org/wiki/Portable_Game_Notation
        • Partager sur Facebook
        • Partager sur Twitter
          30 mai 2017 à 11:04:24

          Peux-tu poster un exemple de PGN traité et le code PHP complet de traitement ?
          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            30 mai 2017 à 15:13:44

            http:/  (mon projet projet)

            l'applet de jeux est de monsieur
              pgn4web javascript chessboard
              copyright (C) 2009-2015 Paolo Casaschi
              see README file and http://pgn4web.casaschi.net
              for credits, license and more details

            il ya aussi http://www.lutanho.net/pgn/pgnviewer.html  (une autre visionneuse)

            J ai trouve un exemple de ce que je cherche sur
            file:///C:/wamp2/www/fade-dz/fr/live2017/palview4/palview4/work/gameview.htm?g=g3
            Tous juste téléchargé palview4 et vous exécuter le lien (gameview) du repertoir work
            on peut télécharger palview 4 sur http://www.enpassant.dk/chess/palview/download.
            Mais cet exemple reste du manuel.au cas par cas

            l'avantage de l'applet de monsieur casaschi est qu'elle est facilement paramétrable
            http://fr .php  exemple paramétré

            Bienvenu dans l'univers de applets d'échecs. et merci benzouye

            -
            Edité par HamlaouiYoucef 30 mai 2017 à 22:16:18

            • Partager sur Facebook
            • Partager sur Twitter
              30 mai 2017 à 16:10:28

              Du coup je ne comprends pas ce que tu veux faire ...

              Tu veux coder un parser de fichier PGN ou simplement mettre en place l'applet existant ?

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                30 mai 2017 à 16:28:53

                Salut HamlaouiYoucef ,

                <img src="flag/172-country-flag-icons-48/'.$v.'png ">

                il manque un . avant png

                Et ta variable $v tu la réaffecte avec une autre valeur donc

                <?php  $v="<span id='PlayerWhiteCountry'></span>"; echo $v; ?>  Test ... ok Test récupéré ALG

                echo $v; ne peut pas te sortir ALG ici, c'est plutôt <span id='.......'></span> qui est sortie ici

                Pour te rendre compte fait un var_dump($v); avant et aprés le $v = '<span....';

                -
                Edité par Infoxp 30 mai 2017 à 16:31:08

                • Partager sur Facebook
                • Partager sur Twitter
                Infoxp ici depuis 2007
                  30 mai 2017 à 16:45:21

                  Je ne touche pas au pgn, mais exploiter les valeurs contenus dans les tags;  exemple de pgn avec trois games:

                  [Event "24 EDITION CHAMPIONAT NATIONAL DES JEUNES U18 BOYS
                   [Date "2013.06.21"]
                  [Round "1"]
                  [Board "1"]
                  [White "Naxxwsr, Ali"]
                  [Black "Bouhxwwdjer, Nabil"]
                  [Result "1/2-1/2"]
                  [BlackElo "0"]
                  [WhiteNA "Alg"]
                  [BlackNA "Ang"]

                  1. e4 d6 2. d4 Nf6 3. Nc3 Nbd7 4. Nf3 e5 5. Bc4 Be7 6. O-O O-O 7. h3 c6 8. a4
                  a5 9. Be3 Qc7 10. Qe2 h6 11. Rfd1 Re8 12. Bb3 Bf8 13. dxe5 dxe5 14. Qc4 Nc5 15.
                  Bxc5 Be6 16. Qe2 Bxc5 17. Bxe6 Rxe6 18. Nh4 g6 19. Rd3 Qe7 20. g3 Nh5 21. Ng2
                  Kg7 22. Rad1 Nf6  1/2-1/2
                  -------

                  [Event "24 EDITION CHAMPIONAT NATIONAL DES JEUNES U18 BOYS
                   [Date "2013.06.21"]
                  [Round "1"]
                  [Board "1"]
                  [White "Nasxwwsr, Ali"]
                  [Black "Bouhxwxdjer, Nabil"]
                  [Result "1/2-1/2"]
                  [BlackElo "0"]
                  [WhiteNA "Ita"]
                  [BlackNA "Epa"]

                  1. e4 d6 2. d4 Nf6 3. Nc3 Nbd7 4. Nf3 e5 5. Bc4 Be7 6. O-O O-O 7. h3 c6 8. a4
                  a5 9. Be3 Qc7 10. Qe2 h6 11. Rfd1 Re8 12. Bb3 Bf8 13. dxe5 dxe5 14. Qc4 Nc5 15.
                  Bxc5 Be6 16. Qe2 Bxc5 17. Bxe6 Rxe6 18. Nh4 g6 19. Rd3 Qe7 20. g3 Nh5 21. Ng2
                  Kg7 22. Rad1 Nf6  1/2-1/2
                  -------


                  [Event "24 EDITION CHAMPIONAT NATIONAL DES JEUNES U18 BOYS
                   [Date "2013.06.21"]
                  [Round "1"]
                  [Board "1"]
                  [White "Naxxwxsr, Ali"]
                  [Black "Bouxwxhdjer, Nabil"]
                  [Result "1/2-1/2"]
                  [BlackElo "0"]
                  [WhiteNA "Irl"]
                  [BlackNA "Por"]

                  1. e4 d6 2. d4 Nf6 3. Nc3 Nbd7 4. Nf3 e5 5. Bc4 Be7 6. O-O O-O 7. h3 c6 8. a4
                  a5 9. Be3 Qc7 10. Qe2 h6 11. Rfd1 Re8 12. Bb3 Bf8 13. dxe5 dxe5 14. Qc4 Nc5 15.
                  Bxc5 Be6 16. Qe2 Bxc5 17. Bxe6 Rxe6 18. Nh4 g6 19. Rd3 Qe7 20. g3 Nh5 21. Ng2
                  Kg7 22. Rad1 Nf6  1/2-1/2
                  -------

                  L applet de jeux fonctionne,  tout est ok
                  les tags Result/BlackElo ... sont automatiquement retourné Vous pouver le vérifier  sur le lien
                  http://f -LIVE.php

                  mais simplement au lieu de lire le tag par exemple Irl ou Por je verrai le drapeau de l Irlande et du Portugal ...

                  tous en html span  div du genre <div id="PlayerWhitecountry">  </div> retourne la valeurs du tag écrite... FRA... Alg
                  la  fonction de Mr.casaschi  pour initialiser les nouveau tag est
                  function customFunctionOnPgnGameLoad() {
                    var theObj;
                    document.getElementById('currGm').innerHTML = currentGame+1;
                    customPgnHeaderTag('WhiteTitle', 'GameWhiteTitle');
                    customPgnHeaderTag('WhiteElo', 'GameWhiteElo');
                    customPgnHeaderTag('BlackTitle', 'GameBlackTitle');
                   customPgnHeaderTag('BlackNA', 'PlayerBlackcountry');
                   customPgnHeaderTag('WhiteNA', 'PlayerWhitecountry');
                    customPgnHeaderTag('BlackElo', 'GameBlackElo');
                    customPgnHeaderTag('ECO', 'GameECO');
                    customPgnHeaderTag('Opening', 'GameOpening');
                    if (theObj = document.getElementById('GameOpening')) { theObj.innerHTML = fixCommentForDisplay(theObj.innerHTML); }
                    customPgnHeaderTag('Variation', 'GameVariation');
                    if (theObj = document.getElementById('GameVariation')) { theObj.innerHTML = fixCommentForDisplay(theObj.innerHTML); }
                    customPgnHeaderTag('Result', 'ResultAtGametextEnd');
                  }

                  qui se trouve dans marschall2017... .js () après avoir enregistré la page http 01  .php

                  jai ajouté 2 nouveau tags WhiteNA  et BlackNA; ces 2  tags fonctionnent correctement.

                  j'espère obtenir un résultat côté css.

                  ... Pour parser les pgn, j'utilise le vba , je colle la pgn et je crée la macro nécessaire, (...) plus rapide et plus efficace,... merci Benzouye;


                  -
                  Edité par HamlaouiYoucef 30 mai 2017 à 22:17:19

                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 mai 2017 à 16:57:02

                    HamlaouiYoucef a écrit:

                    jai ajouté 2 nouveau tags WhiteNA  et BlackNA; ces 2  tags fonctionnent correctement.

                    HamlaouiYoucef a écrit:

                    [WhiteNA "Alg"]

                    [BlackNA "Ang"]

                    Donc lorsque tu parses ton PGN qu'est-ce-que tu génères comme code HTML pour ces tags ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                      30 mai 2017 à 17:13:03

                      Pour Infoxp
                      Merci pour votre aide, c vrai j 'ai oublié le point de l'extension png

                      <?php  $v="<span id='PlayerWhiteCountry'></span>"; echo $v; ?>  retourne ce contenu en  utilisant var_dump()

                      <small>string</small>
                       '<span id='PlayerWhiteCountry'></span>' (length=37)
                      et n'affiche rien et tandis que <span id='PlayerWhiteCountry'></span> retourne la valeur du tag de la pgn et cette dernière
                      et seulement affiche à l'écran, est-il possible de travailler en utilisant les css en utilisant le background comme image.

                       Merci

                      -
                      Edité par HamlaouiYoucef 30 mai 2017 à 17:33:54

                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 mai 2017 à 17:28:29

                        HamlaouiYoucef a écrit:

                        tandis que <span id='PlayerWhiteCountry'></span> retourne la valeur du tag de la pgn

                        Dans quel cas le tag fonctionne, et dans quel cas non ?

                        On ne se comprend pas ... C'est toi qui a codé ton propre parser du PGN ? Si oui, c'est bien toi qui décide ce que tu veux faire quand tu trouves le tag [BlackNA "Ang"] non ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                          30 mai 2017 à 17:30:00

                          pour Benzouye;

                          Avec
                          <span id='PlayerWhiteCountry'></span> affiche correctement le contenu du tag que ce soit Alg ou Irl etc...
                          Mais impossible de récupéré la valeur du tag; voir le post de post de infoxp, avec du php je récupère juste la longueur de la variable

                          Merci Benzouye
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 mai 2017 à 17:34:51

                            Le code généré par cette page : http://fr.fade-dz.net/live2017/CA2017-LIVE.php

                            Donne :

                            <img src="flag/172-country-flag-icons-48/Ang.png">
                            <span id="PlayerBlackcountry" title="Pays">Ang</span>

                            Quel code génère cette page ? Le tien ou un code récupéré sur le net ? Si c'est le tien, peut-on voir le PHP correspondant, au moins pour la partie <!-- black information --> ???

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                              30 mai 2017 à 20:04:13

                              Patience Benzouye
                              On peut télécharger l'applet de Mr Casaschi sur http://pgn4web.casaschi.net/home.html, l'applet en soit est un standard facilitant le développement des pages web pour visualiser, adapter...

                              Faites attention à la syntaxe de ces 2 lignes
                              <img src="flag/172-country-flag-icons-48/Ang.png"--> pas de lézards pour cette ligne: retourne bien l'image du drapeau de l'Angola
                              <span id="PlayerBlackcountry" title="Pays"></span>--> retourne à l'emplacement de ce texte Ang -- parce que la partie sélectionnée possède les tags suivants


                              [Event "24 EDITION CHAMPIONAT NATIONAL DES JEUNES U18 BOYS
                               [Date "2013.06.21"]
                              [Round "1"]
                              [Board "1"]
                              [White "Naxxwsr, Ali"]
                              [Black "Bouhxwwdjer, Nabil"]
                              [Result "1/2-1/2"]
                              [BlackElo "0"]
                              [WhiteNA "Alg"]
                              [BlackNA "Ang"]

                              1. e4 d6 2. d4 Nf6 3. Nc3 Nbd7 4. Nf3 e5 5. Bc4 Be7 6. O-O O-O 7. h3 c6 8. a4
                              a5 9. Be3 Qc7 10. Qe2 h6 11. Rfd1 Re8 12. Bb3 Bf8 13. dxe5 dxe5 14. Qc4 Nc5 15.
                              Bxc5 Be6 16. Qe2 Bxc5 17. Bxe6 Rxe6 18. Nh4 g6 19. Rd3 Qe7 20. g3 Nh5 21. Ng2
                              Kg7 22. Rad1 Nf6  1/2-1/2
                              et le {Ang} se trouve dans le tag de la pgn [BlackNA "Ang"]

                              Tandis que PlayerBlackcountry est initialisé dans la function...

                              function customFunctionOnPgnGameLoad() {
                                var theObj;
                                document.getElementById('currGm').innerHTML = currentGame+1;
                                customPgnHeaderTag('WhiteTitle', 'GameWhiteTitle');
                                customPgnHeaderTag('WhiteElo', 'GameWhiteElo');
                                customPgnHeaderTag('BlackTitle', 'GameBlackTitle');
                               customPgnHeaderTag('BlackNA', 'PlayerBlackcountry');
                               customPgnHeaderTag('WhiteNA', 'PlayerWhitecountry');
                                customPgnHeaderTag('BlackElo', 'GameBlackElo');
                                customPgnHeaderTag('ECO', 'GameECO');
                                customPgnHeaderTag('Opening', 'GameOpening');
                                if (theObj = document.getElementById('GameOpening')) { theObj.innerHTML = fixCommentForDisplay(theObj.innerHTML); }
                                customPgnHeaderTag('Variation', 'GameVariation');
                                if (theObj = document.getElementById('GameVariation')) { theObj.innerHTML = fixCommentForDisplay(theObj.innerHTML); }
                                customPgnHeaderTag('Result', 'ResultAtGametextEnd');
                              }
                              Qui est un langage Javascript
                              ---------------------------------------------------------------------------------------------------------------------------------------
                              Pour trouver facilement une réponse on devra partir de ce point:
                              <img src="flag/172-country-flag-icons-48/Ang.png"--> retourne bien l'image du drapeau de l'Angola
                              <span id="PlayerBlackcountry" title="Pays"></span>--> retourne un texte:  Ang

                              et que tous se déroule sous HTML
                              Un Moyen pour récupérer le texte affiché qui est dans ce cas: Ang
                              ----------------------------------------------------------------------------------------------------------------------------------------


                              A Noter que l'Applet de contient la source de l'applet qui est pgn4web.js qui est de 4000 lignes
                              Grand merci Benzouye, 
                              • Partager sur Facebook
                              • Partager sur Twitter
                                30 mai 2017 à 20:53:05

                                HamlaouiYoucef a écrit:

                                Patience Benzouye

                                Oh oui :D car je n'ai toujours pas compris :D

                                Enfin un peu plus quand même ... Du coup, il faudrait surcharger la fonction JavaScript customPgnHeader() pour qu'elle agisse différemment sur les tags WhiteNA et BlackNA (qui au passage sont destinés à recevoir une adresse email :p ).

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                  30 mai 2017 à 21:27:24

                                  On doit se limiter à la couche supérieur; le HTML
                                  ---------------------------------------------------------------------------------------------------------------------------------------
                                  Pour trouver facilement une réponse on devra partir de ce point:
                                  <img src="flag/172-country-flag-icons-48/Ang.png"--> retourne bien l'image du drapeau de l'Angola
                                  <span id="PlayerBlackcountry" title="Pays"></span>--> retourne un texte:  Ang

                                  et que tous se déroule sous HTML
                                  Un Moyen pour récupérer le texte affiché qui est dans ce cas: Ang
                                  ----------------------------------------------------------------------------------------------------------------------------------------
                                  et Au secours javascript, pour récupérer le contenu de lD qui est dans notre cas unique après chaque appel de la combo...
                                  je suis nul en javacript; et c est quelque chose du genre  var black_flag = document.getElementsById("PlayerBlackcountry");

                                  je colle en vrac l 'ensemble de code,
                                  l image en html/ l'image javascript (semi automatisée)
                                     
                                      <img src="flag/172-country-flag-icons-48/Alg.png" style="padding-top:10px">

                                   
                                    
                                   
                                   
                                    <div id="xxx">  </div>
                                   <div id="PlayerWhitecountry"  onclick="javascript:viewImage('PlayerWhitecountry');">  </div>
                                   <div id="GameBlack">  </div>
                                    <script type="text/javascript">
                                   document.getElementById('image').innerHTML="<img src='flag/172-country-flag-icons-48/Ang.png'>";
                                   </script>
                                   
                                   
                                           <script type="text/javascript">
                                              function viewImage(id) {
                                                 
                                                  var elt = document.getElementById("PlayerWhitecountry");
                                  var black_flag = elt.innerText || elt.textContent;
                                                  document.getElementById(id).innerHTML="<img src='flag/172-country-flag-icons-48/"+black_flag+".png'>";
                                              }
                                          </script>
                                  Pour tous automatiser il faut executer la function viewImage(Id) sur <body onload et la combo_des joueurs
                                  sur l evenement on_change.
                                  Merci benzouye, et a infoxp, sans vos encouragement j 'aurai jetté l'éponge. pour tester cliquer sur le mot Alg qui se trouve sous le drapeau de l'Algérie; http://fr.fade-dz.net/live2017/CA2017-LIVE.php

                                  -
                                  Edité par HamlaouiYoucef 31 mai 2017 à 0:56:28

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    31 mai 2017 à 9:44:22

                                    Je déplace dans le forum JavaScript ;)

                                    Je suis désolé, mais je n'ai toujours pas compris ce que tu essayais de faire ... :D

                                    La page http://fr.fade-dz.net/live2017/CA2017-LIVE.php affichait un drapeau depuis le début ... Maintenant quand on clique sur le nom du pays cela est remplacé par le drapeau qui existe déjà à côté ...

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                      31 mai 2017 à 10:42:09

                                      Merci Benzouye
                                      Le probleme est resolu, vous voyer la select box avec les <option>  actuellement elle affiche des joueurs différents mais toujours de 02 pays
                                      Blancs= Alg et le Noir Ang, maintenant je vais ajouté le code pour qu'à chaque nouvelle selection le drapeau Changera;  sans passer par le php,
                                      si vous avez remarqué la portion de code, document.getElementById(id).innerHTML="<img src='flag/172-country-flag-icons-48/"+black_flag+".png'>"; contient une concatenation chaine de caractère + variable + chaine de caractère ---> cela implique que la chaine est paramétrée, le reste (suite)est comme je l'ai signalée, à noter que black_flag White_flag sont le contenu de l'ID rétourné automatiquement par l'applet et c'est la valeur du tag de la pgn (liste des parties avec les divers tags) les deux tags concernés sont WhiteNA et BlackNA. mais avant de continuer, je vais exploiter le repertoir des flags (drapeau) contenu dans la viewpal4, et que je dois ré échantillonner avec FW (fireworks par un trt par lot), les drapeaux actuellement  affichés (du shareware que j ai du retouché du 48px) ,. A noter que pour les deux drapeau actuellement affiché , le plus plus est statique, tandis que le deuxième est dynamique. J ai ajouté a la pgn les le tag WhiteNA uniquement pour les 3 premières parties, que vous pourrez testé dans (choose a game sous le drapeau du joueur blanc)... Merci Benzouye
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      recuperation de chaine de caracteres

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown