Page 1 sur 1

Changement de mise en page d'un fichier .txt

Posté : 01 mars 2009, 00:20
par coucou
Bonsoir,

Voilà, ça fait un bon moment que je me casse la tête à chercher sur le net pour savoir comment faire de passer d'un fichier .txt présenté comme ceci
[Event "NIV - Tarbes / CONDOMIII"]
[Site "Tarbes"]
[Date "2007.01.21"]
[Round "4"]
[White "LEHMAN, Denis"]
[Black "TANCOGNE, Arthur"]
[Result "1-0"]
[ECO "C44"]
[WhiteElo "1770"]
[BlackElo "1240"]
[PlyCount "59"]

1. e4 e5 2. Nf3 Nc6 3. d4 d6 4. Bc4 Be6 5. d5 Na5 6. dxe6 Nxc4 7. exf7+ Kxf7 8.
Qd5+ Ke8 9. Qxc4 Ne7 10. Nc3 c6 11. Ng5 d5 12. exd5 cxd5 13. Qb3 Rb8 14. O-O h6
15. Nf3 e4 16. Nd4 Qd6 17. Nce2 Qe5 18. Bf4 Qf6 19. Bxb8 Nf5 20. Qxd5 Nxd4 21.
Nxd4 Qe7 22. Rfe1 g6 23. Rxe4 Rh7 24. Rae1 g5 25. Nf5 b6 26. Bd6 g4 27. Bxe7
Bxe7 28. Rxe7+ Rxe7 29. Rxe7+ Kf8 30. Qd8# 1-0
à cela
('Regionale 1 : Condom3 / Muret2', '?', '0000-00-00', '4.', 'Heude Jean-Noel', 'Tancogne Arthur', '1', '1', 'D15', '1430', '1330', '89', 'd4', 'd5', 'c4', 'c6', 'Nc3', 'Nf6', 'Nf3', 'Bf5', 'Bf4', 'e6', 'e3', 'Bb4', 'cxd5', 'cxd5', 'Qa4+', 'Nc6', 'Bg5', 'Be7', 'Ne5', 'Rc8', 'Bb5', 'Qb6', 'Bxc6+', 'bxc6', 'Qb3', 'Qa5', 'Qb7', 'Rc7', 'Qb8+', 'Bd8', 'g4', 'Be4', 'f3', 'Bc2', 'Rc1', 'Ba4', '0-0', '0-0', 'Nxa4', 'Qxa4', 'Qb3', 'Qa6', 'a3', 'Nd7', 'Bxd8', 'Rxd8', 'Nxd7', 'Rcxd7', 'Rc5', 'Rb7', 'Qc3', 'Rc7', 'b4', 'Rb8', 'b5', 'Rxb5', 'Rxb5', 'Qxb5', 'Qc2', 'c5', 'Rb1', 'Qd7', 'Rb8+', 'Rc8', 'Rxc8+', 'Qxc8', 'Qxc5', 'Qxc5', 'dxc5', 'Kf8', 'Kf2', 'g5', 'Ke2', 'Ke7', 'Kd3', 'e5', 'Kc3', 'Kd7', 'Kb3', 'Kc6', 'Kb4', 'd4', 'exd4', 'exd4', 'Kc4', 'd3', 'Kxd3', 'Kxc5', 'Kc3'
Et le répéter dans mon fichier autant de fois que j'ai là 1ere présentation.
A chaque fois, j'ai plusieurs lignes et je dois en avoir qu'une au final pour pouvoir l'importer dans ma base Mysql

Merci d'avance

Posté : 01 mars 2009, 09:47
par Ripat
Ton fichier de départ et de résultat ne correspondent pas. Pas évident pour t'aider. Pourrais-tu également nous montrer un fichier avec plusieurs groupes de données afin qu'on puisse déterminer le séparateur de groupe.

Au vu de ta signature, voici une piste de réflexion avec du pseudo code. Connaissance des expressions régulières requise.

Code : Tout sélectionner

// ouverture du fichier file_get_contents(); // Séparation des groupes de données sur le séparateur preg_split(sur le séparateur) foreach (sur chaque groupe de données) { // traitement des entêtes preg_match_all(sur les entêtes); foreach (entêtes) { stockage pour résultat final } // traitement des détails preg_match_all(sur les détails); foreach (détails) { stockage pour résultat final } // mise en forme implode(); }

Posté : 01 mars 2009, 13:28
par coucou
Salut,

Voilà un fichier avec plusieurs groupe de données :
[Event "Condom-Palavas les Flots"]
[Site "?"]
[Date "2006.10.15"]
[Round "1.6"]
[White "Navratil, Pierre"]
[Black "Beaurain, Jerome"]
[Result "0-1"]
[ECO "B30"]
[WhiteElo "1879"]
[BlackElo "2083"]
[PlyCount "114"]

1. e4 c5 2. Nf3 Nc6 3. Be2 g6 4. O-O Bg7 5. c3 Nf6 6. d3 d5 7. e5 Nd7 8. d4 O-O
9. Ng5 e6 10. f4 Qe7 11. Bg4 b6 12. Rf2 Rd8 13. Na3 a6 14. Be3 Nf8 15. Qd3 c4
16. Qc2 b5 17. Raf1 b4 18. Nb1 Rb8 19. Nd2 Bd7 20. Ndf3 h6 21. f5 exf5 22. Bh3
hxg5 23. Bxg5 f6 24. exf6 Bxf6 25. Re2 Qg7 26. Bf4 b3 27. axb3 Rxb3 28. Qc1 Ne6
29. Bh6 Qf7 30. Qe1 Rdb8 31. Bc1 Ng7 32. Qg3 Nh5 33. Qd6 R3b6 34. Qa3 Ng7 35.
Rfe1 Ne6 36. Qa1 Rb5 37. Qb1 a5 38. Qc2 R5b7 39. Qd2 a4 40. Qe3 Re8 41. Qf2
Rbb8 42. Qg3 f4 43. Qf2 g5 44. Kh1 Ng7 45. Ne5 Bxe5 46. Bxd7 Qxd7 47. dxe5 d4
48. cxd4 Qxd4 49. Qxd4 Nxd4 50. Re4 Ngf5 51. h3 Ng3+ 52. Kh2 Nxe4 53. Rxe4 Nb3
54. Rxc4 Nxc1 55. Rxc1 Rxb2 56. Ra1 Ra8 57. e6 Re2 0-1

[Event "Grasse-Condom"]
[Site "Palavas les Flots"]
[Date "2006.11.25"]
[Round "2.5"]
[White "Henneteau, Jeremy"]
[Black "Beaurain, Jerome"]
[Result "0-1"]
[ECO "D30"]
[WhiteElo "2134"]
[BlackElo "2083"]
[PlyCount "82"]

1. d4 d5 2. Nf3 e6 3. c4 c6 4. e3 Bd6 5. b3 Nh6 6. Bb2 Nd7 7. Nbd2 f5 8. g3 O-O
9. Bg2 Nf7 10. h4 Nf6 11. Qe2 Ne4 12. O-O-O Qe7 13. Ne5 Nxe5 14. dxe5 Ba3 15.
Kb1 Bxb2 16. Kxb2 Qb4 17. Bxe4 fxe4 18. Rhf1 b5 19. cxb5 a5 20. a3 Qe7 21. f4
exf3 22. Rxf3 Rxf3 23. Nxf3 cxb5 24. Rc1 b4 25. a4 Ba6 26. Qd2 Qf7 27. Nd4 Qh5
28. Rc6 Qxe5 29. Rxe6 Qxg3 30. Nf5 Qf3 31. Re5 Bb7 32. h5 Rd8 33. Nd4 Qg3 34.
Re7 Rf8 35. Ne2 Qg2 36. Rxb7 Rf2 37. Rb8+ Kf7 38. Rb7+ Ke8 39. Rb8+ Kd7 40. Qc1
Rxe2+ 41. Kb1 Qe4+ 0-1

[Event "Condom-Vitrolles"]
[Site "Palavas les Flots"]
[Date "1500.??.??"]
[Round "3.7"]
[White "Beaurain, Jerome"]
[Black "Diaz, Franck"]
[Result "1/2-1/2"]
[ECO "A80"]
[WhiteElo "2083"]
[BlackElo "2203"]
[PlyCount "53"]

1. d4 e6 2. Nf3 f5 3. Bg5 Be7 4. h4 Nf6 5. e3 b6 6. Ne5 O-O 7. Be2 Ne4 8. Bxe7
Qxe7 9. Nd2 Bb7 10. Bf3 d6 11. Nd3 Nd7 12. g4 c5 13. gxf5 exf5 14. dxc5 dxc5
15. Qe2 Ndf6 16. O-O-O Nxd2 17. Bxb7 Qxb7 18. Qxd2 Ne4 19. Qe2 Qa6 20. a3 Rad8
21. Rhg1 Qc4 22. f3 Nf6 23. Qg2 Qf7 24. Ne5 Rxd1+ 25. Rxd1 Qe7 26. Rg1 Nd7 27.
Nxd7 1/2-1/2

[Event "Pau Henri IV-Condom"]
[Site "?"]
[Date "2006.12.10"]
[Round "4.5"]
[White "Lecoq, Julien"]
[Black "Beaurain, Jerome"]
[Result "1-0"]
[ECO "B21"]
[WhiteElo "2087"]
[BlackElo "2083"]
[PlyCount "89"]

1. e4 c5 2. d4 cxd4 3. c3 d3 4. Bxd3 g6 5. Nf3 Bg7 6. O-O Nc6 7. c4 d6 8. h3 e5
9. Nc3 Nge7 10. Be2 Nd4 11. Be3 Nec6 12. Nb5 Nxe2+ 13. Qxe2 a6 14. Nc3 Nd4 15.
Qd1 Nxf3+ 16. Qxf3 Be6 17. b3 O-O 18. Rad1 Rc8 19. Nd5 f5 20. Bb6 Qg5 21. Nc7
Bd7 22. Rxd6 Qe7 23. c5 Rxc7 24. Bxc7 Bb5 25. Bb6 Qh4 26. exf5 e4 27. Qg4 Qe7
28. Re6 Qf7 29. Qxe4 gxf5 30. Qd5 Bc6 31. Qd6 f4 32. f3 Bd4+ 33. Kh1 Qg7 34.
Re7 Qg3 35. Rxh7 Bg7 36. Rxg7+ Qxg7 37. Qe6+ Kh7 38. Ba5 Bd7 39. Qe4+ Kh8 40.
Rc1 Kg8 41. Qd5+ Rf7 42. Bc3 Qh6 43. Re1 Qh4 44. Re5 Bc6 45. Rg5+ 1-0

[Event "Condom-Saint Affrique"]
[Site "Toulouse"]
[Date "2007.01.20"]
[Round "5.4"]
[White "Boyd, Stephen"]
[Black "Beaurain, Jerome"]
[Result "1-0"]
[ECO "A13"]
[WhiteElo "2311"]
[BlackElo "2098"]
[PlyCount "81"]

1. c4 e6 2. Nf3 d5 3. b3 Bd6 4. Bb2 Nf6 5. g3 O-O 6. Bg2 Re8 7. d4 c5 8. cxd5
Nxd5 9. e4 Qa5+ 10. Nfd2 Nb4 11. O-O cxd4 12. Nc4 Qc7 13. Nba3 Bc5 14. Nb5 Qe7
15. a3 N4c6 16. e5 a6 17. Nbd6 b5 18. Na5 Nxe5 19. Nxc8 Rxc8 20. Bxa8 Bb6 21.
f4 d3+ 22. Kh1 Ng6 23. b4 Nd7 24. Bg2 Rc2 25. Rb1 Bxa5 26. bxa5 Qd6 27. Qf3 Nc5
28. f5 exf5 29. Qxf5 f6 30. Qd5+ Qxd5 31. Bxd5+ Kf8 32. Bd4 Ke7 33. Rbc1 Ne6
34. Rxc2 Nxd4 35. Rd2 Ne5 36. Rfd1 f5 37. Rxd3 Nxd3 38. Rxd3 Nc2 39. Bb7 b4 40.
axb4 Nxb4 41. Rb3 1-0

[Event "CEI Toulouse-Condom"]
[Site "Toulouse"]
[Date "2007.01.21"]
[Round "6.5"]
[White "Benmesbah, Natacha"]
[Black "Beaurain, Jerome"]
[Result "1-0"]
[ECO "B33"]
[WhiteElo "2179"]
[BlackElo "2098"]
[PlyCount "87"]

1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e5 6. Ndb5 d6 7. Bg5 a6 8.
Bxf6 gxf6 9. Na3 b5 10. Nd5 Bg7 11. c3 Ne7 12. Nxe7 Qxe7 13. Bd3 f5 14. exf5 e4
15. Bc2 O-O 16. O-O Bxf5 17. Qd5 Qe5 18. Rad1 Rfd8 19. Bb3 Be6 20. Qxe5 Bxe5
21. Bd5 Rab8 22. Nc2 a5 23. Rfe1 Re8 24. a3 f5 25. g3 Kf7 26. Ne3 b4 27. Nxf5
Bxd5 28. Rxd5 Ke6 29. Ne3 bxa3 30. bxa3 Bxc3 31. Red1 Red8 32. Nc4 Rbc8 33. Ne3
Rd7 34. Rh5 Rg8 35. Nd5 Be5 36. Rh4 e3 37. Nxe3 d5 38. f4 Bc3 39. Rh6+ Bf6 40.
Rxd5 Rf7 41. Rxa5 Kd7 42. Nf5 Bd8 43. Rd6+ Kc7 44. Ra7+ 1-0

[Event "N4 - Tarbes / CondomII"]
[Site "Tarbes"]
[Date "2007.11.25"]
[Round "2"]
[White "Rich, Philippe"]
[Black "Beaurain, Jérôme"]
[Result "1/2-1/2"]
[ECO "B21"]
[WhiteElo "2034"]
[BlackElo "2066"]
[PlyCount "54"]

1. e4 c5 2. d4 cxd4 3. Nf3 Nc6 4. c3 d3 5. Bxd3 d6 6. O-O g6 7. Bc4 Bg7 8. Be3
Nf6 9. e5 Ng4 10. exd6 Nxe3 11. fxe3 O-O 12. dxe7 Qxe7 13. Qe2 Re8 14. Nbd2 Na5
15. Bd5 Qc5 16. Be4 Nc4 17. Qxc4 Qxc4 18. Nxc4 Rxe4 19. Nfd2 Re7 20. Rae1 b5
21. Nd6 Ba6 22. N2e4 Rd8 23. Nf6+ Kf8 24. Nxh7+ Kg8 25. Nf6+ Kf8 26. Nh7+ Kg8
27. Nf6+ Kf8 1/2-1/2
En fait quand tu dis :


Ton fichier de départ et de résultat ne correspondent pas.
En fait, ce que j'ai entre les apostrophes dans le fichier final correspond à ce que j'ai entre les guillemets de Event à Plycount et après je supprime tous les 1. et 2. etc.... tout en remettant e4 c5 etc... entre les apostrophes.
Je suis obligé de les avoir sous cette forme pour pouvoir les importés, car je me vois mal les saisir une par une dans ma base sachant que j'en ai quelques milliers. :wink:

Au début je pensais faire un code avec Str_replace(xxx, yyy, string)

Je vais voir ce que tu m'as laissé et voir ce que je peux en faire :wink:

Merci

Posté : 01 mars 2009, 16:36
par Ripat
Si ton groupe des mouvements (c'est bien d'un jeux d'échec qu'il s'agit n'est-ce pas?) comporte des retours lignes comme dans ton exemple, travaille sur base de cette tentative de code:
$strFichier = file_get_contents('fichier');

// Séparation des groupes de données sur le séparateur'
$arrLignes = preg_split('# ([0-9]-[0-9]|[0-9]/[0-9]-[0-9]/[0-9])' . PHP_EOL . '#', $strFichier, -1, PREG_SPLIT_NO_EMPTY);


foreach ($arrLignes as $strLigne) {
	$arrFinal = array();

	// par groupe de données, séparation entête et details	
	$arrSplit = preg_split('#' . PHP_EOL . PHP_EOL . '#', $strLigne, -1, PREG_SPLIT_NO_EMPTY);
	$strEntetes = $arrSplit[0];
	$strDetails = $arrSplit[1];

	// traitement des entêtes
	preg_match_all('#\[[^"]+"([^"]+)"\]#', $strEntetes, $arrEntetes);
	foreach ($arrEntetes[1] as $strEntete) {
		$arrFinal[] = sprintf("'%s'", $strEntete);
	}
	
	// traitement des détails
	$strDetails = preg_replace(array('#[0-9]+\. #', '#' . PHP_EOL . '#'), array('', ' '), $strDetails);
	$arrDetails = explode(' ', $strDetails);
	foreach ($arrDetails as $strDetail) {
		$arrFinal[] = sprintf("'%s'", $strDetail);
	}
	
	// mise en forme
	echo implode(',', $arrFinal) . PHP_EOL;
	
}

Posté : 01 mars 2009, 16:44
par coucou
oui, tu as bien trouvé, cela correspond bien à un jeu d'échecs :wink: .
Alors tu t'imagines bien que saisir coup par coup dans ma base serait un travail pharaonnique, et qu'il faut que je trouve un moyen de changer la présentation de mon fichier.

Par contre, je sens que je vais me casser la tete avec ton code :cry: , j'en ai déjà mal à la tête :lol:

Voilà, je pense avoir enfin compris le principe. Le truc c'est que je vois pas ou mettre un retour à la ligne entre chaque partie

Posté : 03 mars 2009, 14:23
par coucou
Coucou tout le monde,

Ben là je crois que je cale.
Mettre un retour à la ligne entre chaque partie d'échecs, j'y arrive pas :(

Je pensais qu'avec un \n à la fin de la mise en forme, j'aurais automatiquement un retour après chaque traitement, mais rien juste des messages d'erreur.

Quelqu'un pourrait m'aider ? Je sèche vraiement

Merci d'avance

Christian

Posté : 03 mars 2009, 15:22
par Ripat
Je ne comprends pas ton problème. Si l'exemple de fichier que tu as posté plus haut est celui sur lequel tu travaille, le code donné plus haut devrait marcher. Par contre j'ai des doutes sur la partie:

Code : Tout sélectionner

1. e4 c5 2. d4 cxd4 3. Nf3 Nc6 4. c3 d3 5. Bxd3 d6 6. O-O g6 7. Bc4 Bg7 8. Be3 Nf6 9. e5 Ng4 10. exd6 Nxe3 11. fxe3 O-O 12. dxe7 Qxe7 13. Qe2 Re8 14. Nbd2 Na5 15. Bd5 Qc5 16. Be4 Nc4 17. Qxc4 Qxc4 18. Nxc4 Rxe4 19. Nfd2 Re7 20. Rae1 b5 21. Nd6 Ba6 22. N2e4 Rd8 23. Nf6+ Kf8 24. Nxh7+ Kg8 25. Nf6+ Kf8 26. Nh7+ Kg8 27. Nf6+ Kf8 1/2-1/2
Comme tu l'as posté plus haut, cette partie se trouve sur plusieurs lignes et pas sur une seule. Tu es certain que ton fichier à traiter est sous cette forme? Sinon, mets un lien vers un fichier texte complet et tel qu'il est généré par ton application et je regarderai ça.

Posté : 03 mars 2009, 19:24
par coucou
Alors je viens de m'apercevoir de quelquechose.

Mon fichier, je l'ai appellé "convertir.php" et on peut voir ici le résultat du code, ce qui donne en fait toute la convertion en une seule ligne, au lieu de faire un retour entre chaque partie.

Par contre, quand je vais ici et que je récupère mon fichier "convertir.php" et que je l'ouvre avec "WordPad", je me retrouve avec 1 partie par ligne et c'est ce que je souhaite au final.

Je m'aperçois aussi d'un petit bug, c'est quand le N° du coup (ici par exemple la 2eme partie) où le coup N°15 est en fin de ligne, en fait on le retrouve dans ma convertion alors que les N° de coups qui ne sont pas à cet endroit ne s'affichent plus :?: :?:

Par contre j'ai des doutes sur la partie:

Code : Tout sélectionner

Code: 1. e4 c5 2. d4 cxd4 3. Nf3 Nc6 4. c3 d3 5. Bxd3 d6 6. O-O g6 7. Bc4 Bg7 8. Be3 Nf6 9. e5 Ng4 10. exd6 Nxe3 11. fxe3 O-O 12. dxe7 Qxe7 13. Qe2 Re8 14. Nbd2 Na5 15. Bd5 Qc5 16. Be4 Nc4 17. Qxc4 Qxc4 18. Nxc4 Rxe4 19. Nfd2 Re7 20. Rae1 b5 21. Nd6 Ba6 22. N2e4 Rd8 23. Nf6+ Kf8 24. Nxh7+ Kg8 25. Nf6+ Kf8 26. Nh7+ Kg8 27. Nf6+ Kf8 1/2-1/2
Qu'est ce que tu veux dire par là ??

Christian

Posté : 03 mars 2009, 20:04
par Ripat
Alors je viens de m'apercevoir de quelquechose.

Mon fichier, je l'ai appellé "convertir.php" et on peut voir ici le résultat du code, ce qui donne en fait toute la convertion en une seule ligne, au lieu de faire un retour entre chaque partie.
Rajoute les balises <pre> pour "voir " les retours lignes.
Je m'aperçois aussi d'un petit bug, c'est quand le N° du coup (ici par exemple la 2eme partie) où le coup N°15 est en fin de ligne, en fait on le retrouve dans ma convertion alors que les N° de coups qui ne sont pas à cet endroit ne s'affichent plus :?: :?:
// change cette ligne
$strDetails = preg_replace(array('#[0-9]+\. #', '#' . PHP_EOL . '#'), array('', ' '), $strDetails); 

// par:
$strDetails = preg_replace(array('#' . PHP_EOL . '#', '#[0-9]+\. #' ), array(' ', ''), $strDetails);

Posté : 03 mars 2009, 23:41
par coucou
Merci, c'est parfait.

Maintenant, je vais voir pour rajouter automatiquement à la fin de chaque ligne des (, '') jusqu'à arriver à un total de 171 ( ' ' ) vide ou plein.

exemple ci dessous
'Condom-Palavas les Flots', '?', '2006-10-15', '1', 'Navratil Pierre', 'Beaurain Jerome', '0-1', 'B30', '1879', '2083', '114', 'e4', 'c5', 'Nf3', 'Nc6', 'Be2', 'g6', 'O-O', 'Bg7', 'c3', 'Nf6', 'd3', 'd5', 'e5', 'Nd7', 'd4', 'O-O', 'Ng5', 'e6', 'f4', 'Qe7', 'Bg4', 'b6', 'Rf2', 'Rd8', 'Na3', 'a6', 'Be3', 'Nf8', 'Qd3', 'c4', 'Qc2', 'b5', 'Raf1', 'b4', 'Nb1', 'Rb8', 'Nd2', 'Bd7', 'Ndf3', 'h6', 'f5', 'exf5', 'Bh3', 'hxg5', 'Bxg5', 'f6', 'exf6', 'Bxf6', 'Re2', 'Qg7', 'Bf4', 'b3', 'axb3', 'Rxb3', 'Qc1', 'Ne6', 'Bh6', 'Qf7', 'Qe1', 'Rdb8', 'Bc1', 'Ng7', 'Qg3', 'Nh5', 'Qd6', 'R3b6', 'Qa3', 'Ng7', 'Rfe1', 'Ne6', 'Qa1', 'Rb5', 'Qb1', 'a5', 'Qc2', 'R5b7', 'Qd2', 'a4', 'Qe3', 'Re8', 'Qf2', 'Rbb8', 'Qg3', 'f4', 'Qf2', 'g5', 'Kh1', 'Ng7', 'Ne5', 'Bxe5', 'Bxd7', 'Qxd7', 'dxe5', 'd4', 'cxd4', 'Qxd4', 'Qxd4', 'Nxd4', 'Re4', 'Ngf5', 'h3', 'Ng3+', 'Kh2', 'Nxe4', 'Rxe4', 'Nb3', 'Rxc4', 'Nxc1', 'Rxc1', 'Rxb2', 'Ra1', 'Ra8', 'e6', 'Re2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''
Je sais pas vers ou je dois m'orienter pour le comptage.

Posté : 22 juin 2009, 22:52
par coucou
Bonjour,

Suite à tout ce qui a été fait plus haut, je suis entrain de me simplifier la chose.

Voilà, j'ai quand même mes parties sous ce format :
[Event "Condom-Palavas les Flots"]
[Site "?"]
[Date "2006.10.15"]
[Round "1.6"]
[White "Navratil, Pierre"]
[Black "Beaurain, Jerome"]
[Result "0-1"]
[ECO "B30"]
[WhiteElo "1879"]
[BlackElo "2083"]
[PlyCount "114"]

1. e4 c5 2. Nf3 Nc6 3. Be2 g6 4. O-O Bg7 5. c3 Nf6 6. d3 d5 7. e5 Nd7 8. d4 O-O
9. Ng5 e6 10. f4 Qe7 11. Bg4 b6 12. Rf2 Rd8 13. Na3 a6 14. Be3 Nf8 15. Qd3 c4
16. Qc2 b5 17. Raf1 b4 18. Nb1 Rb8 19. Nd2 Bd7 20. Ndf3 h6 21. f5 exf5 22. Bh3
hxg5 23. Bxg5 f6 24. exf6 Bxf6 25. Re2 Qg7 26. Bf4 b3 27. axb3 Rxb3 28. Qc1 Ne6
29. Bh6 Qf7 30. Qe1 Rdb8 31. Bc1 Ng7 32. Qg3 Nh5 33. Qd6 R3b6 34. Qa3 Ng7 35.
Rfe1 Ne6 36. Qa1 Rb5 37. Qb1 a5 38. Qc2 R5b7 39. Qd2 a4 40. Qe3 Re8 41. Qf2
Rbb8 42. Qg3 f4 43. Qf2 g5 44. Kh1 Ng7 45. Ne5 Bxe5 46. Bxd7 Qxd7 47. dxe5 d4
48. cxd4 Qxd4 49. Qxd4 Nxd4 50. Re4 Ngf5 51. h3 Ng3+ 52. Kh2 Nxe4 53. Rxe4 Nb3
54. Rxc4 Nxc1 55. Rxc1 Rxb2 56. Ra1 Ra8 57. e6 Re2 0-1
mais je voudrais le simplifier pour avoir ceci :
('Condom-Palavas les Flots', '?', '2006.10.15', '1.6', 'Navratil Pierre', 'Beaurain Jerome', '0-1', 'B30', '1879', '2083', '114', 1. e4 c5 2. Nf3 Nc6 3. Be2 g6 4. O-O Bg7 5. c3 Nf6 6. d3 d5 7. e5 Nd7 8. d4 O-O
9. Ng5 e6 10. f4 Qe7 11. Bg4 b6 12. Rf2 Rd8 13. Na3 a6 14. Be3 Nf8 15. Qd3 c4 16. Qc2 b5 17. af1 4 18. Nb1 Rb8 19. Nd2 Bd7 20. Ndf3 h6 21. f5 exf5 22. Bh3 hxg5 23. Bxg5 f6 24. exf6 Bxf6 25. Re2 Qg7 26. Bf4 b3 27. axb3 Rxb3 28. Qc1 Ne6 29. Bh6 Qf7 30. Qe1 Rdb8 31. Bc1 Ng7 32. Qg3 Nh5 33. Qd6 R3b6 34. Qa3 Ng7 35. Rfe1 Ne6 36. Qa1 Rb5 37. Qb1 a5 38. Qc2 R5b7 39. Qd2 a4 40. Qe3 Re8 41. Qf2 Rbb8 42. Qg3 f4 43. Qf2 g5 44. Kh1 Ng7 45. Ne5 Bxe5 46. Bxd7 Qxd7 47. dxe5 d4 48. cxd4 Qxd4 49. Qxd4 Nxd4 50. Re4 Ngf5 51. h3 Ng3+ 52. Kh2 Nxe4 53. Rxe4 Nb3 54. Rxc4 Nxc1 55. Rxc1 Rxb2 56. Ra1 Ra8 57. e6 Re2 0-1')

C'est quasi le même principe, sauf que tous les coups sont entre une apostrophe et non pas une apostrophe par coup comme la 1ere fois.

Je sais pas si c'est clair ??

Et mon souci, c'est que j'arrive pas à modifier le code de Ripat pour avoir ce que je veux.
C'est peut etre pas possible ??

Merci d'avance pour votre aide :wink: