Witam, zabieram się za pobieranie pewnych danych z innej strony internetowej.

Znalazłem i ciut przerobiłem takie coś...
  1.  
  2. <?php
  3. require_once('./config.php');
  4.  
  5. //pobierasz kod strony
  6.  
  7. $user='20623';
  8. $page = file_get_contents('http://pl.desert-operations.com/world1/userdetails.php?user='.$user.'');
  9.  
  10. //wyrażenie regularne
  11.  
  12. $pattern = '/
  13. <tr bgcolor="#333333">
  14. <td height="19">
  15. Współrzędne:
  16. </td>
  17. <td>
  18. '^.*$' //Tutaj na stronie powinny być współrzędne, i w taki sposób zastąpiłem je dowolnym ciągiem znaków
  19. </td>
  20. </tr>
  21. <tr bgcolor="#333333">
  22. <td height="19">
  23. Członek od:
  24. </td>
  25. <td>
  26. 07.11.09 02:06 //Dane do zastąpienia
  27. </td>
  28. </tr>
  29. <tr bgcolor="#333333">
  30. <td height="19">
  31. Wygrane bitwy:
  32. </td>
  33. <td>
  34. 87 Odpowiada 68%<br> //Dane do zastąpienia
  35. </td>
  36. </tr>
  37. <tr bgcolor="#333333">
  38. <td height="19">
  39. Przegrane bitwy:
  40. </td>
  41. <td>
  42. 41 Odpowiada 32%<br> //Dane do zastąpienia
  43. </td>
  44. </tr>
  45. <tr bgcolor="#333333">
  46. <td height="19">
  47. Sojusz:
  48. </td>
  49. <td>
  50. <a href=allydetails.php?ally=18854>==COMBAT== (==COMBAT==)</a> //Dane do zastąpienia
  51. </td>
  52. </tr>
  53. <tr bgcolor="#333333">
  54. <td>
  55. Przystąpienia do sojuszy:
  56. </td>
  57. <td>
  58.  
  59. <table width="100%" border="0" cellpadding="0" cellspacing="1" style="background-color: #3d3d3d;">
  60. <tr>
  61. <td colspan="3" width="116" height="19">
  62. <strong><a href=allydetails.php?ally=773>Semper Fidelis</a></strong>
  63. </td>
  64. </tr>
  65. <tr>
  66. <td style="width: 45%; text-align: left">01.12.09 11:48</td>
  67. <td style="width: 10%; text-align: center;">&nbsp;do&nbsp;</td>
  68. <td style="width: 45%; text-align: right;">19.12.10 16:24</td>
  69. </tr>
  70. </table>
  71. <table width="100%" border="0" cellpadding="0" cellspacing="1" style="background-color: #4d4d4d;">
  72. <tr>
  73. <td colspan="3" width="116" height="19">
  74. <strong><a href=allydetails.php?ally=18854>==COMBAT==</a></strong>
  75. </td>
  76. </tr>
  77. <tr>
  78. <td style="width: 45%; text-align: left">20.12.10 19:38</td>
  79. <td style="width: 10%; text-align: center;">&nbsp;do&nbsp;</td>
  80. <td style="width: 45%; text-align: right;">dzisiaj</td>
  81. </tr>
  82. </table>
  83. </td>
  84. </tr>
  85. <tr bgcolor="#4D4D4D">
  86. <td height="15" colspan="3">
  87. <strong>
  88. - Budynki -
  89. </strong>
  90. </td>
  91. </tr>
  92. <tr bgcolor="#333333">
  93. <td height="19" class="text Stil2 Stil4">
  94. Fabryki:
  95. </td>
  96. <td colspan="2">
  97. 714 //Dane do zastąpienia
  98. </td>
  99. </tr>
  100. <tr bgcolor="#333333">
  101. <td height="19">
  102. Kopalnie:
  103. </td>
  104. <td colspan="2">
  105. 318 //Dane do zastąpienia
  106. </td>
  107. </tr>
  108. <tr bgcolor="#333333">
  109. <td height="19">
  110. Rafinerie ropy:
  111. </td>
  112. <td colspan="2">
  113. 1852 //Dane do zastąpienia
  114. </td>
  115. </tr>
  116. <tr bgcolor="#333333">
  117. <td height="19">
  118. maksymalnie wykorzystane:
  119. </td>
  120. <td colspan="2">
  121. 33% //Dane do zastąpienia
  122. </td>
  123. </tr>
  124. <tr bgcolor="#333333">
  125. <td height="19" valign="top">
  126. Punkty:
  127. </td>
  128. <td colspan="2">
  129. <span onmouseover="Tip('Gracze (punkty)');" onmouseout="UnTip();">
  130. 1.268.180 //Dane do zastąpienia
  131. </span><br>
  132. <span onmouseover="Tip('Gracze (wojny)');" onmouseout="UnTip();">
  133. 3.644 //Dane do zastąpienia
  134. </span>
  135. </td>
  136. /';
  137.  
  138.  
  139.  
  140. //jeżeli jest/są dopasowania...
  141. if(preg_match_all($pattern, $page, $matches, PREG_SET_ORDER)){
  142.  
  143. //...dla każdego wyniku (w pętli)...
  144.  
  145. foreach($matches as $match){
  146. //...wyescapowane wartości umieszczasz w bazie
  147. $start = date('YmdHis', mktime($match[4], $match[5], '00', $match[2], $match[1], $match[3]));
  148. $stop = date('YmdHis', mktime($match[6], $match[7], '00', $match[2], $match[1], $match[3]));
  149. $program = mysql_real_escape_string($match[8], $sql);
  150. mysql_query("INSERT INTO `mythbusters` (`program`, `start`, `stop`) VALUES ('$program', '$start', '$stop')", $sql);
  151. }
  152. mysql_close($sql);
  153. */
  154. }
  155. ?>
  156.  


Ogólnie wiem z tego kodu, jak pobrać całą stronę, wiem, że $pattern to kawałek kodu strony w którym znajdują się wszystkie interesujące mnie dane, w pętli foreach mam dodać wyciągnięte, i wpakowane do zmiennych dane, uprzednio kasując zawartość tabeli, aby rekordy się nie powtarzały.

Problem mam z tym, że nie wiem w jaki sposób wyrażeniami regularnymi zastąpić w $pattern odpowiedni fragment kodu strony, ani jak do to przypisać do tablicy, a później do zmiennych.

18 linijka - to co myślę, że będzie uniwersalnym zastąpieniem ciągu znaków, które tworzą koordynaty. W taki sam sposób zrobiłbym w innych miejscach tej tabeli.

Z góry dzięki za wszelką pomoc i pozdrawiam.

PS.w 141 i od od 146 linijki do 149 nie kumam absolutnie nic ;/ nie wiem o co chodzi i skąd się wzięły $match i $matches