Взимане на информация от сайт

bsd

Registered
PHP:
<?php
$url="http://btv.bg/weather/";
$string = file_get_contents($url);
$edno=explode('<div align="left">',$string);
$dve=explode('</div></td>',$edno[1]);
echo $dve[0];
?>

Видях кода по-горе в един от уроците тук, но проблема ми е, че това като гледам взима само текста, но не и object елемента. Някакви предложения или алтернативи?

Благодаря предварително!!!
 
ето ти го тук има демо където съм го качил и си работи

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Времето в България и Европа</title>
</head>
<body>

<div style="display:block; width:950px; margin:0 auto;">
    <div style="float:left;">
    <h1>Времето в България</h1>
    <object width="460" height="305" type="application/x-shockwave-flash" data="http://www.btv.bg/flash/weather-bulgaria.swf" style="visibility: visible;">
    <param name="menu" value="false">
    <param name="wmode" value="transparent">
    <param name="bgcolor" value="#FF0000">
    <param name="flashvars" value="xmlfile=http://www.btv.bg/weather_service.php">
    </object>
    </div>
    
    <div style="float:right;">
    <h1>Времето в Европа</h1>
    <object width="460" height="305" type="application/x-shockwave-flash" data="http://www.btv.bg/flash/weather-europe.swf" style="visibility: visible;">
    <param name="menu" value="false">
    <param name="wmode" value="transparent">
    <param name="bgcolor" value="#FF0000">
    <param name="flashvars" value="xmlfile=http://www.btv.bg/weather_service.php">
    </object>
    </div>
    <div style="clear:both;"></div>



<?php

ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9');

function GetBetweenElement($content, $start, $end, $element=0){
	if(empty($element) || is_null($element))
	{
		$r = explode($start, $content);
		if (isset($r[1])){
			$r = explode($end, $r[1]);
			return $r[0];
		}
		return '';
	}
	else
	{
		$r = explode($start, $content);
		if (isset($r[1])){
			$r = explode($end, $r[$element]);
			return $r[0];
		}
		return '';
	}
}
	$url = file_get_contents("http://btv.bg/weather/");

	$str = GetBetweenElement($url, '<div class="placeholder" id="divpl2">', '</div>'); 
	echo '<div>'.strip_tags($str,'<p><br><br />').'</div>';
	
?>
</div>
</body>

</html>
 
Не ми трябва времето, просто за това е демото в урока. Искам да взема определена информация от друг сайт.
 
От това, което си посичил не ми става много ясно от кой сайт какво искаш да вземеш, това което си дал е за бтв времето, така че друг път разясни какво искаш точно да направиш и от къде ...., ние да не сме гадатели, какво ти се върти в главата. Изгубих си 1 час от времето да се занимавам с това и накрая...
 
ами не е едно, искам код, който взима съдържанието на определен div, както написах в темата

иначе благодаря,че се опита да помогнеш
 
Намери елемент от хтмл на страницата, която искаш да 'прочетеш' който е с уникално id и е малко вероятно да изчезне.

Като започне да 'чете' големия стринг го счупи в нов такъв, при този уникален елемент или последователност от символи.

Новия по-малък стринг, който ти съдържа полезната информация, вече ще има намален състав от елементи. Счупи при подходящия и след това счупи при следващия подходящ. Между тях е вероятно желаната от теб информация.

Ти разполагаш с всичките необходими команди, като ти го видях се сетих преди 6 месеца как се пробвах аз да го правя същото. Това бе решението до което достигнах. Изобщо не е елегантно, но каквото такова. :)
 

Back
Горе