Finns det möjlighet at plocka ur en del av en hemsida till sin egen via PHP? Har hört att det finns något som heter file_get_contents, hur funkar det? Typ ange en url, en start och ett stopp för den och sedan låta den skriva ut det däremellan?
Plocka ut delar av en hemsida?
8 svar · 593 visningar · startad av JakobJ
Jag kan ingenting om PHP, men söka kan jag :)
Ta en titt här:
http://se2.php.net/file_get_contents
Vad för information är du ute efter, och på vilken sida?
Såg att oskars hann före men postar ändå mitt svar.
med
$buf = file_get_contents($url);
så läser du in innehållet från en fil/url och får det i en variabel.
Sen får du använda t.ex. preg_match() / preg_match_all() för att söka upp det du vill i innehållet.
Om det du vill visa alltid finns på samma ställen i innehållet så kan du också använda substr()
Svårt att ge några exakta exempel innan man vet mer exakt vad du vill hitta.
OBS! Tänk på att du alltid måste ha tillåtelse innan du plockar information från andras sidor.
Säg att vi ska plocka ut hur många inlägg The_Hulk har gjort från http://www.webforum.nu/search.php?searchid=1075704... Då får den börja med "av" och sluta med "<br />Sökningen tog <strong>", hur exakt ska jag skriva då?
Du får använda dig av preg_match[_all].
Ett utkast till ett regexp
preg_match('#av(.*)\<br \/\>Sökningen tog \<strong\>#i',...,...);
Ni får ursäkta att jag är väldigt ny inom PHP. Hur skulle en hel kod se ut för att få fram det?
Sidan du länkar till fungerar inte.
Du kan utgå från följande kod:
<?php
$buf = file_get_contents("http://www.webforum.nu/search.php?searchid=1075704");
$m = array();
preg_match('#av(.*)\<br \/\>Sökningen tog \<strong\>#i', $buf , $m);
print_r($m);
?>
Den skriver bara ut "Array ( ) " då.
Då har du inte fått någon träff vilket inte är så konstigt eftersom sidan inte fungerar.
Ta någon annan sidan är söksidan, verkar som den är temporär.