FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Hej
Söker ett skript som hämtar filer info enligt en fil-lista. Har ett script färdigt men det hämtar bara en sida och inte alla från listan. <?php $url = "XXXXXX347415"; $content = file_get_contents($url); $titlestart=strpos($content,"<table>"); $titleslut = strpos($content,"</table>"); $spec=substr($content,$titlestart,$titleslut-$titlestart)."</table>"; file_put_contents("347415.htm",$spec,LOCK_EX); ?> <?php echo $spec; ?> |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Bara ett inlägg till!
|
Det ser ut som att du försöker tolka HTML med något som liknar reguljära uttryck. Jag rekommenderar att du använder PHPs in inbyggda XML-klasser för att tolka dokument istället, så kan du till exempel plocka ut alla noder av en viss typ och iterera över dem, alltså oavsett hur många noder det är.
Ett enkelt exempel där jag skriver ut innehållet i alla <p>-element: Kod:
$html = new DOMDocument(); $html->loadHTML($content); $ps = $html->getElementByTagName('p'); for($i = 1; $i < $ps->length; $i++) { echo $ps->item($i)->nodeValue . "\n"; } |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Citat:
Ditt script fungerar nog också men det hjälper inte mig. Det hämtar ändå bara från 1st angiven sida och inte enligt fillistan.txt med ca 1000 länkar. |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Bara ett inlägg till!
|
Mitt skript visar en metod att tolka HTML-filer. Du har ännu inte sagt vad du ska med det till, eller ens vad som blir fel.
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
Citat:
Scriptet ska läsa först länken i fillista.txt och med hjälp av reguljära uttryck hämta tex en tabel som finns på den sidan länk 1 hänvisar till i fillista.txt När den är hämtad ska den spars ner till en fil med det fil namn som finns i länk nr 1 i fillistan Där efter börjar det om igen med länk nr 2 och så vidare. Scriptet jag har fungerar men doch bara på 1st angiven länk sida. Senast redigerad av it-shoppen den 2010-02-09 klockan 13:05 |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Banned
|
Citat:
Men däremot är de att rekommendera. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
Kod:
$list = file_get_contents("listan.txt"); $urls = explode("\n",$list); foreach($urls as $url) { $file = file_get_contents($url); /* Insert other blablabla-code here */ } |
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Nykomling
|
Citat:
Testade det och fick felmedelande. Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in C:\wamp\www\script\test.php on line 5 |
||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Bara ett inlägg till!
|
Troligtvis innehåller din list-fil även en radbrytning på slutet av sista raden. Det gör att loopen kör en sista gång på en tom rad. Lägg in en if-sats i början av loopen och kolla om raden är tom.
|
|||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Nykomling
|
Citat:
Koden fungerar bra så långt. Men den hämtar dock bara info från sista länken "raden" i list-filen. <?php $list = file_get_contents("listan.txt"); $urls = explode("\n",$list); foreach($urls as $url) { $file = file_get_contents($url); $tablestart=strpos($file,"<table>"); $tableslut = strpos($file,"</table>"); $spec=substr($file,$tablestart,$tableslut-$tablestart)."</table>"; /* Insert other blablabla-code here */ } ?> <?php echo $spec; ?> Senast redigerad av it-shoppen den 2010-02-10 klockan 10:05 |
||
![]() |
![]() |
Svara |
|
|