PDA

View Full Version : سوال: دریافت اطلاعات از یک صفحه اینترنتی در PHP



Skrillex
چهارشنبه 22 مهر 1394, 09:36 صبح
سلام .
چطور میشه از یک اینترنتی یک سری اطلاعات رو لود کرد ؟
مثلا یه صفحه داریم تو یه سایت مثلا آدرس http://example.com که سورس یه قسمت از این صفحه اینه اینه :

<div class="download"> <h4>دانلود با کیفیت 320 - <span>7.50 مگابایت</span></h4>
<p class="downloader"><a title="دانلود با کیفیت 320- 7.50 مگابایت" href="http://dl.pop-music.ir/music/1394/Mehr/Dayan%20-%20Bavaram%20Kon.mp3" download>دانلود با کیفیت 320 - <span>7.50 مگابایت</span></a></p>
<div class="clear"></div><p>دانلود آهنگ جدید دایان بنام باورم کن</p><h4>دانلود با کیفیت 128 - <span>3.10 مگابایت</span></h4><p class="downloader"><a title="دانلود با کیفیت 128 - 3.10 مگابایت" href="http://dl.pop-music.ir/music/1394/Mehr/Dayan%20-%20Bavaram%20Kon%20%28128%29.mp3" download>دانلود با کیفیت 128 - <span>3.10 مگابایت</span></a></p>
<div class="clear"></div><p>دانلود آهنگ جدید دایان بنام باورم کن</p></div>

حالا من میخوام یه سورس داشته باشم که بتونم مثلا آدرس این صفحه رو بدم بعد محتویات <div class="download"></div> رو تو اونجا نمایش بدم

در واقع میخوام :
یک فرم داشته باشیم
فرم یهفیلد داشته باشه به نام آدرس
حالا من آدرس یه صفحه رو بهش میدم و روی دکمه submit کلیک میکنم
درخواست به سرور ارسال میشه و سرور میره به اون صفحه و محتویات تگ بین <div class="download"></div> رو توی یک textarea نمایش میده
این سورس خیلی بهم کمک میکنه اما من هیچ جا پیداش نکردم

hamedarian2009
چهارشنبه 22 مهر 1394, 11:42 صبح
با دستور file_get_contents سورس اون صفحه رو می گیرید و سپس با استفاده از regex میتونید محتویات بین اون تگ رو بدست بیارید


$url = 'http://example.com/';
$source = file_get_contents($url);
$pattern = '#<div class="download">(.*?)</div>#s';
preg_match_all($pattern, $source, $matches);

echo '<textarea>'. $matches[1][0] . '</textarea>';