Array und For-Schleife

Sorry beim Script hat dieser Teil gefehlt, hier wird explode aufgerufen:

PHP:
// ... 

for($i = 0;$i < $a;$i++) {

	$notext = $array[1][$i];
	preg_match_all($pat, $notext, $array2);

	$inhalt332= str_replace("<font size=\"-1\">","",$array2[1][4]);
	$inhalt332= str_replace("</font>",",",$inhalt332);
	$inhalt332= str_replace(" ","",$inhalt332);
	$inhalt332= str_replace(".","",$inhalt332);

	$string = explode(",",$inhalt332);

	echo $string[$i];
	
};
 
HTML:
<table align="center" border="1">
    <tbody><tr align="center"> <th bgcolor="#808080"><font size="-1"> Date-from </font></th>

      <th bgcolor="#808080"><font size="-1"> Date-to </font></th>
      <th bgcolor="#ff0000"><font size="-1">MBytes-IN </font></th>
      <th bgcolor="#00ff00"><font size="-1">MBytes-OUT </font></th>
      <th bgcolor="#0000ff"><font size="-1">MBytes-TOTAL </font></th>
      <th bgcolor="#ffff00"><font size="-1"> Ratio </font></th>

    </tr>
  <tr align="right">
    <td><font size="-1">01.01.2007  00:00 </font></td>
    <td><font size="-1">01.02.2007  00:00 </font></td>
    <td> <font size="-1">233</font></td>
    <td> <font size="-1">1.684</font></td>

    <td> <font size="-1">1.918</font></td>
    <td> <font size="-1">1 : 7.22</font></td>
  </tr>
  <tr align="right">
    <td><font size="-1"><a href="192.168.200.238_8.total.2007.02.html">01.02.2007  00:00 </a></font></td>
    <td><font size="-1">01.03.2007  00:00 </font></td>

    <td> <font size="-1">178</font></td>
    <td> <font size="-1">1.692</font></td>
    <td> <font size="-1">1.870</font></td>
    <td> <font size="-1">1 : 9.49</font></td>
  </tr>

  <tr align="right">
    <td><font size="-1"><a href="192.168.200.238_8.total.2007.03.html">01.03.2007  00:00 </a></font></td>
    <td><font size="-1">01.04.2007  00:00 </font></td>
    <td> <font size="-1">1.311</font></td>
    <td> <font size="-1">3.507</font></td>
    <td> <font size="-1">4.818</font></td>

    <td> <font size="-1">1 : 2.68</font></td>
  </tr>
  <tr align="right">
    <td><font size="-1"><a href="192.168.200.238_8.total.2007.04.html">01.04.2007  00:00 </a></font></td>
    <td><font size="-1">01.05.2007  00:00 </font></td>
    <td> <font size="-1">418</font></td>

    <td> <font size="-1">786</font></td>
    <td> <font size="-1">1.205</font></td>
    <td> <font size="-1">1 : 1.88</font></td>
  </tr>
  <tr align="right">
    <td><font size="-1"><a href="192.168.200.238_8.total.2007.05.html">01.05.2007  00:00 </a></font></td>

    <td><font size="-1">01.06.2007  00:00 </font></td>
    <td> <font size="-1">813</font></td>
    <td> <font size="-1">1.018</font></td>
    <td> <font size="-1">1.831</font></td>
    <td> <font size="-1">1 : 1.25</font></td>

  </tr>
  <tr align="right">
    <td><font size="-1"><a href="192.168.200.238_8.total.2007.06.html">01.06.2007  00:00 </a></font></td>
    <td><font size="-1">01.07.2007  00:00 </font></td>
    <td> <font size="-1">390</font></td>
    <td> <font size="-1">1.808</font></td>

    <td> <font size="-1">2.198</font></td>
    <td> <font size="-1">1 : 4.64</font></td>
  </tr>
  <tr align="right">
    <td><font size="-1"><a href="192.168.200.238_8.total.2007.07.html">01.07.2007  00:00 </a></font></td>
    <td><font size="-1">01.08.2007  00:00 </font></td>

    <td> <font size="-1">222</font></td>
    <td> <font size="-1">495</font></td>
    <td> <font size="-1">716</font></td>
    <td> <font size="-1">1 : 2.23</font></td>
  </tr>

  <tr align="right">
    <td><font size="-1">01.08.2007  00:00 </font></td>
    <td><font size="-1">01.09.2007  00:00 </font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">0</font></td>

    <td> <font size="-1">1 : 0.00</font></td>
  </tr>
  <tr align="right">
    <td><font size="-1">01.09.2007  00:00 </font></td>
    <td><font size="-1">01.10.2007  00:00 </font></td>
    <td> <font size="-1">0</font></td>

    <td> <font size="-1">0</font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">1 : 0.00</font></td>
  </tr>
  <tr align="right">
    <td><font size="-1">01.10.2007  00:00 </font></td>

    <td><font size="-1">01.11.2007  00:00 </font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">1 : 0.00</font></td>

  </tr>
  <tr align="right">
    <td><font size="-1">01.11.2007  00:00 </font></td>
    <td><font size="-1">01.12.2007  00:00 </font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">0</font></td>

    <td> <font size="-1">0</font></td>
    <td> <font size="-1">1 : 0.00</font></td>
  </tr>
  <tr align="right">
    <td><font size="-1">01.12.2007  00:00 </font></td>
    <td><font size="-1">01.01.2008  00:00 </font></td>

    <td> <font size="-1">0</font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">0</font></td>
    <td> <font size="-1">1 : 0.00</font></td>
  </tr>

</tbody></table>
 
Soo, die regex patterns waren nicht korrekt und müssen escapt werden ,)
Des weiteren, warum mit explode arbeiten wenn du es auch direckt in ein array schreiben kannst?
Und statt nach den HTML Tags zu suchen würd ich gleich die entsprechende Funktion verwenden:

vielleicht statt dem impldode(file()) noch get_file_contents()


PHP:
    $pattern = '%\<TR align="right"\>(.*)\<\/tr\>%isU'; 
    preg_match_all($pattern, $data, $array);
    $a = count($array[1]);
   $pat = '~\<td\>(.*?)\<\/td\>~is';
       
    for($i = 0;$i < $a;$i++) {
    $notext = $array[1][$i];
    preg_match_all($pat, $notext, $array2);

    // letzte HTML- Tags aus String entfernen
    $inhalt332= strip_tags($array2[1][4]);
    $inhalt332= str_replace(" ","",$inhalt332);
    $inhalt332= str_replace(".","",$inhalt332);

    $return[$i] = $inhalt332;
    
}

print_r($return);
?>
 
Also wenn ich meinen Code ausführe bekomme ich das zurück:

Code:
Array
(
    [0] => 1918
    [1] => 1870
    [2] => 4818
    [3] => 1205
    [4] => 1831
    [5] => 2198
    [6] => 716
    [7] => 0
    [8] => 0
    [9] => 0
    [10] => 0
    [11] => 0
)
 
Zurück