Ingelezen HTML wegschrijven naar file
De laattijd duurt tussen de 3 en 7 seconden.
Om wachttijd voor de bezoekers te beperken wil ik dit eens per week binnenhalen, door dit in een bestandje outputen.
Maar zoals ik dit nu heb gemaakt schrijft hij alleen de laatste regel in het bestand (</P>.....hoe kan dit?
En hoe moet ik dit dan aanpakken om dit op te lossen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
$bron = "http://www.zuid-west.nevobo.nl/standvol.htm";
$vgl1="table9 "; // $vgl1 is de 1e te vinden string...
$vgl2="table10 "; // $vgl2 is de 2e te vinden string...
$gegevens = fopen ($bron, "r");
while (!feof ($gegevens))
{
$buffer = fgets($gegevens, 4096);
$lines[] = $buffer;
$num_lines = count ($lines);
}
foreach($lines as $regelnummer1 => $regelwaarde1)
{
if(preg_match("/$vgl1/i", $regelwaarde1))
{
$skipeerste = $regelnummer1 - 1;
}
/*als hij niet gelijk is aan $vql1 hoeft er niets te gebeuren dus hoef je hier niets neer te zetten, ook geen else...*/
}
foreach($lines as $regelnummer2 => $regelwaarde2)
{
if(preg_match("/$vgl2/i", $regelwaarde2))
{
$verschil = $num_lines - $regelnummer2;
$skiplaatste = $verschil + 21 ;
}
/*als hij niet gelijk is aan $vq2l hoeft er niets te gebeuren dus hoef je hier niets neer te zetten, ook geen else...*/
}
fclose ($gegevens);
$eerste = $skipeerste; //slaat de eerste y regels over
$laatste = $skiplaatste; //slaat de laatste x regels over
$fp = fopen ($bron,"r"); //uit te lezen website
define("SKIPEERSTE", $eerste);
define("SKIPLAATSTE", $laatste);
$linecount = 0;
$buffer = array();
for($i=0; $i<SKIPLAATSTE; $buffer[$i++]=false); // (*)
$bp = 0; //buffer pointer (points naar het oudste element in de buffer)
while (!feof($fp)) { // test of er een einde aan de site komt
$line = fgets($fp, 4096); // lees volgende lijn
if(!$line) continue; //sla lege regels over (**)
if ($linecount++ < SKIPEERSTE) continue; // slaat de eerste y regels over
$ouderegel = $buffer[$bp]; // haalt de oude regel op
$buffer[$bp] = $line; // zet het in een nieuwe lijn
$bp = ($bp+1)%SKIPLAATSTE; // zet de pointer naar de oude regels in de buffer
if($ouderegel){ //Note: de eerste SKIPLAATSTE maal $ouderegel geeft false (zie *) maar ook als een lege regel is gevonden. (maar die word nooit gevonden (zie **))
$ouderegel = str_replace("<tr bgcolor=\"#FFFF00\">","<tr>",$ouderegel);
$ouderegel = str_replace("<table border=\"1\"","<table style=\"border: 1px #000000 solid\"",$ouderegel);
$ouderegel = str_replace("OKK'70 1","<strong>OKK'70 1</strong>",$ouderegel);
//Doe iets met die troep!!!
echo ( $ouderegel );
}
}
/*
let op dat lege regels worden genegeerd
*/
$file ="regels.txt";
$handle = fopen($file, "a+");
fputs($handle, $ouderegel );
fclose ($handle);
?>
$bron = "http://www.zuid-west.nevobo.nl/standvol.htm";
$vgl1="table9 "; // $vgl1 is de 1e te vinden string...
$vgl2="table10 "; // $vgl2 is de 2e te vinden string...
$gegevens = fopen ($bron, "r");
while (!feof ($gegevens))
{
$buffer = fgets($gegevens, 4096);
$lines[] = $buffer;
$num_lines = count ($lines);
}
foreach($lines as $regelnummer1 => $regelwaarde1)
{
if(preg_match("/$vgl1/i", $regelwaarde1))
{
$skipeerste = $regelnummer1 - 1;
}
/*als hij niet gelijk is aan $vql1 hoeft er niets te gebeuren dus hoef je hier niets neer te zetten, ook geen else...*/
}
foreach($lines as $regelnummer2 => $regelwaarde2)
{
if(preg_match("/$vgl2/i", $regelwaarde2))
{
$verschil = $num_lines - $regelnummer2;
$skiplaatste = $verschil + 21 ;
}
/*als hij niet gelijk is aan $vq2l hoeft er niets te gebeuren dus hoef je hier niets neer te zetten, ook geen else...*/
}
fclose ($gegevens);
$eerste = $skipeerste; //slaat de eerste y regels over
$laatste = $skiplaatste; //slaat de laatste x regels over
$fp = fopen ($bron,"r"); //uit te lezen website
define("SKIPEERSTE", $eerste);
define("SKIPLAATSTE", $laatste);
$linecount = 0;
$buffer = array();
for($i=0; $i<SKIPLAATSTE; $buffer[$i++]=false); // (*)
$bp = 0; //buffer pointer (points naar het oudste element in de buffer)
while (!feof($fp)) { // test of er een einde aan de site komt
$line = fgets($fp, 4096); // lees volgende lijn
if(!$line) continue; //sla lege regels over (**)
if ($linecount++ < SKIPEERSTE) continue; // slaat de eerste y regels over
$ouderegel = $buffer[$bp]; // haalt de oude regel op
$buffer[$bp] = $line; // zet het in een nieuwe lijn
$bp = ($bp+1)%SKIPLAATSTE; // zet de pointer naar de oude regels in de buffer
if($ouderegel){ //Note: de eerste SKIPLAATSTE maal $ouderegel geeft false (zie *) maar ook als een lege regel is gevonden. (maar die word nooit gevonden (zie **))
$ouderegel = str_replace("<tr bgcolor=\"#FFFF00\">","<tr>",$ouderegel);
$ouderegel = str_replace("<table border=\"1\"","<table style=\"border: 1px #000000 solid\"",$ouderegel);
$ouderegel = str_replace("OKK'70 1","<strong>OKK'70 1</strong>",$ouderegel);
//Doe iets met die troep!!!
echo ( $ouderegel );
}
}
/*
let op dat lege regels worden genegeerd
*/
$file ="regels.txt";
$handle = fopen($file, "a+");
fputs($handle, $ouderegel );
fclose ($handle);
?>
Gewijzigd op 01/01/1970 01:00:00 door Martijn Roverts
Bedenk ook dat het mogelijk verboden is om deze data te gebruiken!
Dit is info die wij als vereniging gewoon mogen kopieren.
Maar aangezien dit elke weekend voor 13 teams gedaan moet worden is dit voor ons de gemakkelijkste oplossing.
Maar ik snap je opmerking!
Gewijzigd op 01/01/1970 01:00:00 door Martijn Roverts
http://www.phphulp.nl/php/scripts/7/743/
Maar het vreemde is dat hij die laatste regel van de $oudregel wegschrijft en niet de overige 297 regels.
Hoe pak je zoiets aan?
In feite is dit net zoiets als het script van Herjan voor de amateur wedstrijden uit het voetbal Maar het vreemde is dat hij die laatste regel van de $oudregel wegschrijft en niet de overige 297 regels.
Hoe pak je zoiets aan?