bonjour,
encore une fois, désolé pour le titre du message qui ne veut pas dire grand chose
je bute sur un problème de recherche d'occurrence dans une chaine.
soit le texte:
1. e4{le 19-08-2010, 15:02:14 par areuh: dc1 blanc.Commentaire test}<br><br> g6{le 21-08-2010, 15:02:14 par areuh: dc2 noir. Coup impair noir}<hr>2. Nf3 d6<hr>3. d4 Nf6{le 21-08-2010, 15:02:14 par areuh: dc6 noir. Coup impair noir}<hr>4. Bd3 Bg7{le 21-08-2010, 15:02:14 par areuh: dc8 noir. Coup impair noir}<hr>5. Nbd2 O-O{le 21-08-2010, 15:02:14 par areuh: dc10 noir. Coup impair noir}<hr>6. O-O Nc6{le 21-08-2010, 15:02:14 par areuh: dc12 noir. Coup impair noir}<hr>7. c3 Nd7{le 21-08-2010, 15:02:14 par areuh: dc14 noir. Coup impair noir}<hr>8. h4 e5<hr>9. h5 exd4<hr>10. cxd4 Bxd4<hr>11. Nxd4 Nxd4<hr>12. Nc4 Ne5<hr>13. Nxe5 dxe5<hr>14. Bh6 Re8<hr>15. hxg6 hxg6<hr>16. Qc1 Nb3<hr>17. axb3 Qxd3<hr>18. Qg5 Qd8<hr>19. Qg3 Qf6<hr>20. Bg5 Qg7<hr>21. f3 Be6<hr>22. Kf2 f6<hr>23. Be3 a5<hr>24. Rh1 g5<hr>25. Rxa5 Rxa5<hr>26. Rh5 Ra2<hr>27. Bxg5 Rxb2+<hr>28. Kg1 Bf7<hr>29. Bxf6 Rb1+<hr>30. Kh2 Qxg3+<hr>31. Kxg3{le 20-08-2010, 23:38:14 par areuh: dernier coup de la partie on commente sur le dc blanc c est a dire avant dernier dc de la partie}<br><br> Bxh5{le 20-08-2010, 23:37:14 par areuh: dernier dc de la partie. Commentaire ou on a rajoute un seul point}<hr>
comme vous pouvez le voir, ce texte comporte des points (.).
ces . peuvent etre dans des accolades {} ou pas.
je possède 3 tableaux
- tab01 enregistre la position de chacun des points (hors et ds les accolades)
- tab02 enregistre la position de chacun des points qui se trouvent hors accolade
- tab03 enregistre la position de chacun des points qui se trouvent ds les accolades
j'ai une boucle avec un traitement a l'interieur:
dc la structure c'est
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 for($i= 0; $i< count($tab_asso_commentaires); $i++) { $position_point= strpos($partie_comment, ".", $tab_asso_fin[$i]); if($position_point!= 0) { echo "_position_point != de 0 (".$position_point.") => ATTENTION, represente la posit° de la prochaine occurrence de point, elle est peut-etre ds un commentaire"; echo "<br>"; for($j= 0; $j< count($tableau_point_position_comment_no_comment); $j++) { if($position_point== $tableau_point_position_comment[$j]) { echo "concordance trouvee _position_point= ".$position_point." - _tab_compteur_point_comment= ".$tab_compteur_point_comment[$j]; echo "<br>"; echo "PAS BON: occurence de point qui appartient a un commentaire"; echo "<br>"; } if($position_point== $tableau_point_position_comment_no_comment[$j]) { echo "concordance trouvee _position_point= ".$position_point." - _tab_compteur_point_comment= ".$tableau_point_position_comment_no_comment[$j]; echo "<br>"; echo "occurence de point qui n'appartient pas a un commentaire"; echo "<br>"; $position_point= $tableau_point_position_comment_no_comment[$j]; echo "nvelle valeur de _position_point: ". $position_point; } } } }
for
-> if
-->for
--->if (ici je bloque)
--->if
si je trouve la position de l'occurence point ds tab03 (le point est ds un commentaire, pas bon), je veux pouvoir recuperer la position de l'occurrence qui suit et refaire la comparaison, et ce jusqu'a ce que je trouve une position d'occurrence qui ne soit plus ds tab03 mais ds tab02 (c'est a dire hors commentaire).
j'ai cherché moults_Z_heures (?), tripatouillé mes tableaux dans (presque?) tous les sens... mais j'y arrive pas.
Qu'en est il de la récursivité? j'y ai pensé mais je n'y connais rien... alors ben je vous pose la question avant de me lancer dans ce genre de recherche (qui peut etre ne s'appliquer pas à mon cas de figure).
Voilà, dc si vous avez la solution, je vous en serai bien reconnaissant.
Merci
areuh
Partager