webForumDet fria alternativet

Hämta del av hemsidas innehåll med XMLHTTP

PHP

1 svar · 268 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#1

Behöver hjälp att hämta ut innehållet på denna hemsidan:
http://www.hastens.com/sv/Sangar

Enbart från och med bilden Våra sängtyper ner till innan strecket.

Någon som kan hjälpa mig med det? Även så att sökvägar till bilderna hos dem länkar till deras hemsida oxå.

Hoppas nån kan hjälpa mig..

Medlem sedan okt. 200725 inlägg
#2

Hej,

med tanke på en hemsidas föränderliga natur så kommer ju script som dessa att sluta fungera om sidan byter innehåll - men det skulle ju kunna se ut ungefär såhär:

	<?php
	
  // Begin Get File
  $content = "";
  $fp = fopen("http://www.hastens.com/sv/Sangar/", "rb");
  if (!$fp)
    die("Error opening file.");
  while (!feof($fp))
    $content .= fread($fp, 2048);
  fclose($fp);
  // End
  
  // Begin Ersätter radbrytningar så vi slipper tänka på dem just nu iaf
  $content = str_replace("\n", " ", $content);
  $content = str_replace("\r", " ", $content);
  // End
  
  // Hämta allt mellan texten "Våra sängtyper" och början på sidfoten
		if(  preg_match('/Våra sängtyper(.*?)<div id="mast_foot"/i', $content, $r)  )
		{
			// Lägg innehållet i en egen variabel
			$newBody = $r[1];

			// Begin Ersätter alla bildkällor som börjar på '/' med hastens-domän
			$newBody = preg_replace('/src="\//', 'src="http://www.hastens.com/', $newBody);
			// End

			// Begin Ersätter alla länkar som börjar på '/' med hastens-domän
			$newBody = preg_replace('/href="\//', 'href="http://www.hastens.com/', $newBody);
			// End

			echo'<html><head><title>Hämtat från Hästens</title></head><body>';
			echo $newBody; 
			echo '</body></html>';
		}
?>

Inte jättevacker kod, men det är trots allt en början.

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)