Stukjes variabele tekst uit bestanden halen
Ik heb een x aantal html-pagina's die allemaal gelijk zijn, op 1 stuk tekst dat in een tabel staat na.
bijv:
Bestand1.html
<table><tr><td>23ad4 8ds734</td></tr></table>
Bestand2.html
<table><tr><td>97s723asn</td></tr></table>
Etc, etc.
Nu wil ik in PHP al die bestanden achter elkaar openen, maar daar kom ik zelf wel uit.
Het probleem zit 'em in het "eruit halen" van die variabelen.
Ik ben er achter dat het iets met RegEx te maken heeft, maar daar werd ik eerlijkgezegd ook niet veel wijzer van.
Het scriptje moet dus iets worden als:
* open de pagina, dat lukt me wel
* zoek tekst voor en na variabelen
* haal dan het tussenliggende eruit
* zet dat in een tekstfile of database, maar dat lukt mij ook wel
Ik hoop dat iemand me kan helpen!
Nevermind, ik heb t al!
Groet, lissy
PS dit is een forum waarin we elkaar helpen en ik leer graag van andermans oplossingen :-)
Eerst heb ik alle files van 1 tot x gerenamed met een programma FileRenamer
Daarna alles geupload en in dezelfde map dit .php bestand (en die natuurlijk uitvoeren)
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
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
<?
$start = "1";
$aantal_bestanden = "500";
while($start < ($aantal_bestanden + 1))
{
// Bestand openen
$filename = "$start.html";
$fp = fopen($filename, "r") or die ("could not open file");
$html = file_get_contents("http://www.domein.nl/$start.html");
// tekst krijgen
$tekstbegin = (strpos($html, "<table><tr><td>") + 15);
$teksteinde = strpos($html, "</td></tr></table>");
$tekstchars = ($teksteinde - $tekstbegin);
$tekst = substr("$html", $tekstbegin, $tekstchars);
// Tekst in database pleuren
mysql_connect("localhost","***","***");
mysql_select_db("***");
mysql_query("INSERT INTO jouwtabel (tekst) VALUES ('$tekst')");
// FF zeggen dat het gewerkt heeft
echo "<font face=verdana size=1><b>$tekst</b> is opgeslagen</font><br>";
fclose($fp);
$start++;
}
?>
$start = "1";
$aantal_bestanden = "500";
while($start < ($aantal_bestanden + 1))
{
// Bestand openen
$filename = "$start.html";
$fp = fopen($filename, "r") or die ("could not open file");
$html = file_get_contents("http://www.domein.nl/$start.html");
// tekst krijgen
$tekstbegin = (strpos($html, "<table><tr><td>") + 15);
$teksteinde = strpos($html, "</td></tr></table>");
$tekstchars = ($teksteinde - $tekstbegin);
$tekst = substr("$html", $tekstbegin, $tekstchars);
// Tekst in database pleuren
mysql_connect("localhost","***","***");
mysql_select_db("***");
mysql_query("INSERT INTO jouwtabel (tekst) VALUES ('$tekst')");
// FF zeggen dat het gewerkt heeft
echo "<font face=verdana size=1><b>$tekst</b> is opgeslagen</font><br>";
fclose($fp);
$start++;
}
?>
De code is ietwat versimpeld, maar dat zijn aanpassingen die je sowieso zou moeten veranderen als je het gaat gebruiken
Dat renamen was overbodig gweest hoor..
Je kon ooko gewoon alle bestanden uit die map listen en gebruiken
oke,.. zal ik de volgende keer proberen.. maar het was een kleine moeite
wat ik zelf een beetje overbodig vind :P
heb je gelijk in, maar verder klopt het scriptje wel aardig toch?
Als het voor jou gewerkt heeft sowieso wel toch??