Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrazenia regularne
Forum PHP.pl > Forum > PHP
AcidBurnt
http://michal.bagrowski.com//ikarnet/index.php

i sprawa wyglada tak, ze najpierw chce pobrac jakos liczbe znajdujaca sie przy:
<TH COLSPAN=18>

i pozniej wybrac to co jest miedzy dwoma

<TH COLSPAN=18>

i za bardzo nie moge tego uzyskac
tiraeth
Też mi się przyda bo mieszkam we wrocku ale trochę zmienię linię smile.gif W najbliższych dwóch dniach (do środy) napiszę taki skrypcik i tutaj go zapodam.....

podpowiedź: pousuwaj znaki końca linii - pierwszy krok biggrin.gif
AcidBurnt
sam tam dodalem znaki konca lini aby było bardziej czytelne... smile.gif

ale nie moge tego wybrac aby było to co chce

edited:

preg_match_all("/COLSPAN=18>(.*?)<TH /" ,$znalezione[0], $znacz);


dało potrzebny efekt smile.gif


całosc po konkretnych modyfikacjach dało zadany efekt

  1. <?php
  2. $stronki[0] = &#092;"http://www.wroclaw.pl/zdik/0001/0001t005.htm\"; //1
  3. $stronki[1] = &#092;"http://www.wroclaw.pl/zdik/0002/0002t028.htm\"; //2
  4. $stronki[2] = &#092;"http://www.wroclaw.pl/zdik/0004/0004t029.htm\"; //4
  5. $stronki[3] = &#092;"http://www.wroclaw.pl/zdik/0010/0010t005.htm\"; //10
  6. $stronki[4] = &#092;"http://www.wroclaw.pl/zdik/0145/0145t033.htm\"; //145
  7. $stronki[5] = &#092;"http://www.wroclaw.pl/zdik/0146/0146t029.htm\"; //146
  8. echo &#092;"<table border=\"1\"><tr>\";
  9. foreach($stronki as $tresc) {
  10. echo &#092;"<td valign=\"top\">\";
  11. $zawartosc = &#092;"\";
  12. $znalezione = &#092;"\";
  13. $f = fopen($tresc, &#092;"r\");
  14. while(!feof($f))
  15. $zawartosc .= fread($f,1024);
  16. fclose($f);
  17.  
  18. preg_match(&#092;"/<H2>(.*?)</H2>/\", $zawartosc,$nazwa_lini);
  19. //echo $nazwa_lini[1].\"<br>\"; // wybranie \"nazway\" lini
  20. preg_match('/(d+)s:s.*?/',$nazwa_lini[1],$temp);
  21. $numer_lini = $temp[1];
  22.  
  23. preg_match(&#092;"/<TABLE .*?<(.*?)</TABLE>/\", $zawartosc, $znalezione);
  24. // echo \"<pre>\".htmlspecialchars(preg_replace(\"/<TR>/\", \"n<TR>n\", $znalezione[0])).\"</pre>\";
  25. // echo \"<pre>\".htmlspecialchars($znalezione[0]).\"</pre>\"; //wybranie wszystkiego z <table>(*)</table>
  26. $zawartosc = $znalezione[0];
  27. preg_match(&#092;"/COLSPAN=(d+)/\", $zawartosc,$cols);
  28. // echo \"<pre>\".print_r($cols).\"</pre>\";
  29.  
  30. $ilosc_godzin = $cols[1];
  31.  
  32. preg_match_all(&#092;"/COLSPAN=d+>(.*?)</\",$zawartosc,$dzien);
  33. // print_r($dzien);
  34.  
  35. preg_match_all(&#092;"/COLSPAN=d+>(.*?)(<TH |<TD |</TABLE>)/\" ,$zawartosc, $znacz);
  36.  
  37. // echo \"<pre>\".print_r($znacz).\"</pre>\";
  38. /* 
  39. pojedyncze rozklady
  40. echo \"<pre>\".htmlspecialchars(preg_replace(\"/<TR>/\", \"n<TR>n\", $znacz[1][1])).\"</pre>\";
  41. echo \"<pre>\".htmlspecialchars(preg_replace(\"/<TR>/\", \"n<TR>n\", $znacz[1][2])).\"</pre>\";
  42. echo \"<pre>\".htmlspecialchars(preg_replace(\"/<TR>/\", \"n<TR>n\", $znacz[1][3])).\"</pre>\";
  43. */
  44. // echo \"<pre>\".htmlspecialchars(preg_replace(\"/<TR>/\", \"n<TR>n\", $znacz[1][1])).\"</pre>\";
  45.  
  46. // echo \"<pre>\";print_r($rozklad[1]);echo \"</pre>\";
  47. // echo \"<pre>\";print_r($rozklad2[1]);echo \"</pre>\";
  48. echo $numer_lini.&#092;"<br >\";
  49. echo $dzien[1][1].&#092;"<br >\";
  50. preg_match_all('/<TH>(d+)/',$znacz[1][1],$m);
  51. $l=0;
  52. foreach($m[1] as $k => $v) {
  53. $tab[$v]=array();
  54. $t[$l++]=$v;
  55. }
  56. preg_match_all('/<TD>(d*)/',$znacz[1][1],$m);
  57. foreach($m[1] as $k => $v) {
  58. if(is_numeric($v))
  59. array_push($tab[ $t[$k%$l] ],$v);
  60. }
  61. echo &#092;"<pre>\";
  62. print_r($tab);
  63. echo &#092;"</pre>\";
  64. unset($tab);
  65. unset($t);
  66.  
  67. echo &#092;"</td><td valign=\"top\">\";
  68.  
  69. echo $numer_lini.&#092;"<br >\";
  70. echo $dzien[1][2].&#092;"<br >\";
  71. preg_match_all('/<TH>(d+)/',$znacz[1][2],$m);
  72. $l=0;
  73. foreach($m[1] as $k => $v) {
  74. $tab[$v]=array();
  75. $t[$l++]=$v;
  76. }
  77. preg_match_all('/<TD>(d*)/',$znacz[1][2],$m);
  78. foreach($m[1] as $k => $v) {
  79. if(is_numeric($v))
  80. array_push($tab[ $t[$k%$l] ],$v);
  81. }
  82. echo &#092;"<pre>\";
  83. print_r($tab);
  84. echo &#092;"</pre>\";
  85.  
  86. echo &#092;"</td><td valign=\"top\">\";
  87.  
  88. unset($tab);
  89. unset($t);
  90.  
  91. echo $numer_lini.&#092;"<br >\";
  92. echo $dzien[1][3].&#092;"<br >\";
  93. preg_match_all('/<TH>(d+)/',$znacz[1][3],$m);
  94. $l=0;
  95. foreach($m[1] as $k => $v) {
  96. $tab[$v]=array();
  97. $t[$l++]=$v;
  98. }
  99. preg_match_all('/<TD>(d*)/',$znacz[1][3],$m);
  100. foreach($m[1] as $k => $v) {
  101. if(is_numeric($v))
  102. array_push($tab[ $t[$k%$l] ],$v);
  103. }
  104. echo &#092;"<pre>\";
  105. print_r($tab);
  106. echo &#092;"</pre>\";
  107. unset($tab);
  108. unset($t);
  109. echo &#092;"</td>\";
  110. }
  111.  
  112. echo &#092;"</tr></table>\";
  113. //show_source(\"index2.php\");
  114.  
  115. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.