PDA

View Full Version : مبتدی: جستجو لینک در کد html به وسیله php



saeid99999
جمعه 13 بهمن 1391, 17:18 عصر
سلام دوستان با چه تابعی میشه مثلا از این کد لینک فایل mp3 رو درآورد ؟ ممنون میشم با مثال بگین :قلب:



<p style="text-align: center">
<strong>MP3 128</strong></p>
<p style="text-align: center">
<a href="http://dl.saite.org/Admin/1391/dey/14/Maziar%20Fallahi%20Yalda.mp3">Yalda</a></p>
<p style="text-align: center">
<strong>OGG</strong></p>
<p style="text-align: center">
<a href="http://dl.saite.org/Admin/1391/dey/14/Maziar%20Fallahi%20Yalda.ogg">Yalda</a></p>

saeid99999
شنبه 14 بهمن 1391, 12:56 عصر
کسی نبود کمک کنه؟

Reza1607
شنبه 14 بهمن 1391, 13:07 عصر
مي تونيد از كد زير استفاده كنيد

<?php
$pattern="#<a?[^/>]+href=['|\"](.*\.mp3)['|\"]?[^/>]+#";
$str='<p style="text-align: center">
<strong>MP3 128</strong></p>
<p style="text-align: center">
<a href="http://dl.saite.org/Admin/1391/dey/14/Maziar%20Fallahi%20Yalda.mp3">Yalda</a></p>
<p style="text-align: center">
<strong>OGG</strong></p>
<p style="text-align: center">
<a href="http://dl.saite.org/Admin/1391/dey/14/Maziar%20Fallahi%20Yalda.ogg">Yalda</a></p>';
preg_match_all($pattern,$str,$items);
foreach($items[1] as $item){
echo $item.'<br />';
}
?>

البته فكر كنم عبارت منظمش مشكل داشته باشه (!) اگه مشكلي داشت اساتيد بگن
ولي براي اين كدهاي html ايي كه گذاشتين كار مي كنه

saeid99999
شنبه 14 بهمن 1391, 14:06 عصر
مي تونيد از كد زير استفاده كنيد

<?php
$pattern="#<a?[^/>]+href=['|\"](.*\.mp3)['|\"]?[^/>]+#";
$str='<p style="text-align: center">
<strong>MP3 128</strong></p>
<p style="text-align: center">
<a href="http://dl.saite.org/Admin/1391/dey/14/Maziar%20Fallahi%20Yalda.mp3">Yalda</a></p>
<p style="text-align: center">
<strong>OGG</strong></p>
<p style="text-align: center">
<a href="http://dl.saite.org/Admin/1391/dey/14/Maziar%20Fallahi%20Yalda.ogg">Yalda</a></p>';
preg_match_all($pattern,$str,$items);
foreach($items[1] as $item){
echo $item.'<br />';
}
?>

البته فكر كنم عبارت منظمش مشكل داشته باشه (!) اگه مشكلي داشت اساتيد بگن
ولي براي اين كدهاي html ايي كه گذاشتين كار مي كنه

ممنون ازتون کار کرد ولی تو بعضی جاها باز مشکل دار میشه مثلا دوتا فایل ام پی تر باشه میشه کاری کرد که فقط یکی شو پیدا کنه یا از روی حجم که هر کدوم تر باشن رو انتخاب کنه ؟مثلا تو این کد مشکل داره میشه



<?php

$pattern="#<a?[^/>]+href=['|\"](.*\.mp3)['|\"]?[^/>]+#";
$str ='

<div class="mormanage"><div class="morhead"><div class="sid-right"></div><div class="sid-left"></div><div class="sid-main"><div class="title">Saeed Kermani - Be To Badbinam</div></div></div><div class="morcon"><div >
<div align="center"><font color="#000000"><strong>آهنگ جدید</strong> و فوق العاده زیبای سعید کرمانی با نام به تو بدبینم ...</font><br />
</div>
<div align="center"><font color="#800000">ترانه و ملودی : سعید کرمانی - تنظیم : هومن آزما - ویلن : پیام طونی<br />
<br />
<img width="500" height="500" src="http://dl.saite.org/Admin/1391/aban/27/Saeid.jpg" alt="" /></font></div><div align="center"><font color="#000000"><strong>MP3 320</strong></font><br />
<br />
<a href="http://dl.saite.org/Admin/1391/aban/27/Saeed%20Kermani%20-%20Be%20To%20Badbinam.mp3">Be To Badbinam</a><br />
<br />
<font color="#000000"><strong>MP3 128</strong></font><br />
<br />
<a href="http://dl.saite.org/Admin/Admin/1391/aban/27/Saeed%20Kermani%20-%20Be%20To%20Badbinam[1].mp3">Be To Badbinam</a><br />
<br />
<font color="#000000"><strong>OGG</strong></font><br />
<br />
<a href="http://dl.saite.org/Admin/Admin/1391/aban/27/Saeed%20Kermani%20-%20Be%20To%20Badbinam.ogg">Be To Badbinam</a><br />
</div>
<br>


</div>
';
preg_match_all($pattern,$str,$items);
foreach($items[1] as $item){

echo "$item";

}
?>

saeid99999
شنبه 14 بهمن 1391, 18:47 عصر
دوستان یه سوال دیگه چطوری میشه مثلا دو تا فایل که تو وب هستن رو حجمشون در آورد؟ (تو یه سرور دیگه هستن نه هاست خودمون )

2undercover
شنبه 14 بهمن 1391, 20:46 عصر
دوستان یه سوال دیگه چطوری میشه مثلا دو تا فایل که تو وب هستن رو حجمشون در آورد؟ (تو یه سرور دیگه هستن نه هاست خودمون )

این طوری امتحان کنید ببینید جواب میده:
filesize('آدرس فایل در هاست مورد نظر');

saeid99999
شنبه 14 بهمن 1391, 21:23 عصر
این طوری امتحان کنید ببینید جواب میده:
filesize('آدرس فایل در هاست مورد نظر');

نه خودم درست کردم اینم کدش میزارم شاید کسی لازم داشت!دوبار تقسیم بر 1024 میکنیم تا برحسب مگابایت بنویسه



$url='http://up.toca.ir/images/pm2yk4xuedl6tltcm.mp3';
function getSizeFile($url) {
if (substr($url,0,4)=='http') {
$x = array_change_key_case(get_headers($url, 1),CASE_LOWER);
if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'][1]; }
else { $x = $x['content-length']; }
}
else { $x = @filesize($url); }

return $x;
}

$ff=getSizeFile($url);

$kk=$ff/1024;
$ss=$kk/1024;


echo $ss;

Reza1607
یک شنبه 15 بهمن 1391, 08:46 صبح
ممنون ازتون کار کرد ولی تو بعضی جاها باز مشکل دار میشه مثلا دوتا فایل ام پی تر باشه میشه کاری کرد که فقط یکی شو پیدا کنه یا از روی حجم که هر کدوم تر باشن رو انتخاب کنه ؟مثلا تو این کد مشکل داره میشه

اين كدي كه من گذاشتم مياد تمام رشته هايي كه با اون الگوي ما ($pattern) همخوني داره رو ليست مي كنه
شما كافيه وقتي لينكي رو پيدا مي كنيد اول با استفاده از همون تابعي خودتون براي سايز بدست آوردين حجم ها رو مقايسه كنيد و بعد بياين از نظر تشابه اسمي هم چك كنيد ببينيد كه مثل هم هستن يا نه؟ اگه بودن كه فقط يكي رو انتخاب كنيد و گرنه هر دوتاش رو انتخاب كنيد