@code2code
من می خواهم از این فایل https://mega.nz/#!sRB0lQaY!PUFji_lYEBEqrXtsPvTlJ8pzgxIEc2Yt6FiXyfXDfPk
لینک ها رو خارج کنم به وسیله رجکس می خواهم این کار رو بکنم می شه راهنمایی کنید
کدم اینه
$attribute=file_get_contents('page1.txt');
preg_match_all("/"https://www.aparat.com/video/video/embed/videohash/[Ww]*?/vt/frame"/im", $attribute, $p10);
print_r($p10[4]);
از این راه استفاده کن
$file = file_get_contents('https://www.aparat.com/v/r7gIL');
$dom = new DomDocument();
$dom->loadHTML($file,LIBXML_NOERROR);
$finder = new DomXPath($dom);
$classname = "vone__date-cats-tags";
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
$innerHTML= '';
$children = $nodes[0]->childNodes;
foreach ($children as $child) {
$innerHTML .= $child->ownerDocument->saveXML( $child );
}
var_dump($innerHTML);
@code2code
مهدی اینا بدردبخور نیستند
من می خواهم با preg match allیک محدوده را بگیره مثلا
```
[attributes] => stdClass Object (
[id] => ۱۳۳۶۳۳۴۵
[title] => پازل بند و استایل جنجالی - قسمت ۴ سلب استایل
[description] => پازل بند و استایل جنجالی - قسمت ۴ سلب استایل
[username] => pooshism
[userid] => ۱۲۳۴۹۱۹
[tags] => Array
( ) [uid] => UxHfM
[isHidden] =>
[visit_cnt] => 3 هزار
[process] => no_stat
[sender_name] => پوشیسم
[big_poster] => https://static.cdn.asset.aparat.com/avt/13363345-8794
[duration] => 729
[sdate] => 22 ساعت پیش
[sdate_timediff] => 79262
[frame] => https://www.aparat.com/video/video/embed/videohash/UxHfM/vt/frame
[official] => yes
[autoplay] => 1
[360d] =>
[brand_priority] => 77777
[like_cnt] => 38
[comment_cnt] => 31
[preview_src] => https://static.cdn.asset.aparat.com/avt/13363345_15s.mp4
[file_link_all] =>
[file_link] =>
[videovisit] =>
[like] =>
[share] =>
[meta] =>
[catId] => 17
) )
آها من فک کردم تو میخوای از سایت مگا با php دانلود کنی اصلا هواسم به text نبود الان متوجه شدم
https:\/\/www\.aparat\.com\/video\/video\/embed\/videohash.*\/vt\/frame
در ضمن چرا تو از همون فایل جسون استفاده نمیکنی که رفتی سراغ stdClass?
@code2code
از خود این لینکی jsonکه در زیر وجود داره می خواهم pregکنم نمیشه بخاطر همین ریختمش داخل فایل که از فایل بگیرم اگه راهی داری بگو.
این لینک سایت استhttps://api.aparat.com/fa/v1/video/video/index
من میخواهم هر فیلمی دارای یک attributes که تمام مقادیر مثل لینک سایت تعداد بازدید ها و اسم کلیپ و غیره می باشد چطوری میتونم هر attributeرو بگیرم که تام جزییات داخلش باشه میشه راهنمایی کنی
تو چه نیازی به رجکس داری خوب یه حلقه for بزن تمام id ها رو بگیر
uid رو که بگیری انگار لینکو گرفتی مثلا URJrS uid
لینک میشه https://www.aparat.com/v/URJrS
$json = file_get_contents('https://api.aparat.com/fa/v1/video/video/index');
$json = json_decode($json);
$data = $json->data;
$nextLink = $json->links->more;
$links = [];
foreach ($data as $value) {
foreach ($value->attributes->items as $item) {
$links[] = 'https://aparat.com/v/'.$item->attributes->source->attributes->uid;
}
}
dd($links);
@code2code
آقا مهدی سلام
من میخواهم از این لینک اطلاعاتی رو بیرون بکشم اما کامل اطلاعات رو بیرون نمیکشه قسمتی رو بیرون میکشه
https://www.aparat.com/v/r7gIL
preg_match_all("/<div class="vone__date-cats-tags">[\W\w]*?</div>/im",$cc,$ip);
از این راه استفاده کن
$file = file_get_contents('https://www.aparat.com/v/r7gIL');
$dom = new DomDocument();
$dom->loadHTML($file,LIBXML_NOERROR);
$finder = new DomXPath($dom);
$classname = "vone__date-cats-tags";
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
$innerHTML= '';
$children = $nodes[0]->childNodes;
foreach ($children as $child) {
$innerHTML .= $child->ownerDocument->saveXML( $child );
}
var_dump($innerHTML);
نه اون خودش یه پکیج اینی که من نوشتم php-dom اکستنشن داخلی خود php
کافیه تو php.ini فعالش کنی یا اگه لینوکسی بزنی sudp apt install php-dom
خیلی پکیج هست بگردی کلی پیدا میکنی
به نظرم از اینا استفاده کنی بهتره تا رجکس بی دردسر تره واسه اینجور کارا
از این کد بالا استفاده کردم جواب داد اما وقتی تو حلقه انداختم ازchildNodes ایراد میگیره
ارورش در لاراول اینه Trying to get property 'childNodes' of non-object
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟