webForumDet fria alternativet

Plocka ut delar av en hemsida?

PHP

8 svar · 595 visningar · startad av JakobJ

Medlem sedan apr. 200839 inlägg
Frågan#1

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?

Medlem sedan nov. 20051 317 inlägg
#2

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?

Medlem sedan juni 20031 837 inlägg
#3

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.

Medlem sedan apr. 200839 inlägg
#4

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å?

Medlem sedan feb. 2006511 inlägg
#5

Du får använda dig av preg_match[_all].

Ett utkast till ett regexp

preg_match('#av(.*)\<br \/\>S&ouml;kningen tog \<strong\>#i',...,...);
Medlem sedan apr. 200839 inlägg
#6

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?

Medlem sedan juni 20031 837 inlägg
#7

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&ouml;kningen tog \<strong\>#i', $buf , $m); 
print_r($m);
?>
Medlem sedan apr. 200839 inlägg
#8

Den skriver bara ut "Array ( ) " då.

Medlem sedan juni 20031 837 inlägg
#9

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.

514 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
120 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)
257 ms — ändringar (db)