یک سری تگ ها وقتی inspect میگیریم در مروگر نمایش میده اما زمانی که بخواهیم با رجکس آن تگ ها را بیرون بکشیم پیدا نمیکند مشکل کار کجاس
الان من میخواهم این <li class="bg-item item-ARbit">gsdhfgh</li> تگ ها رو با preg-match_allبیرون بکشم اما نمایش نمیده احساس میکن مخفی است
@hesammousavi
زمان خاصی نداره
می خواهم با رجکس فقط این اطلاعات رو بیرون بکشم
شاید پاسخ شما همینجا باشد
چندتا چیزو مطمئن شو یک اینکه اون تگا با js ساخته نشد باشن
دو اینکه کد regex درست زدی؟
ضمنا لینک بده ماهم ببینیم بهتر نظر بدیم
$u=urldecode('https://www.aparat.com/search/%D8%A2%D9%85%D9%88%D8%B2%D8%B4_%D9%81%D8%A7%D8%B1%D8%B3%DB%8C_Redis');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$u);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
$cc = curl_exec($ch);
curl_close($ch);
$kkj="/<li class=\"bg-item item-.*\">.*<\/li>/";
preg_match_all($kkj, $cc, $matt);
$file41=fopen('aparat/s4.txt','w');
foreach ($matt[0] as $vall) {
fwrite($file41, $vall."\n");
}
fclose($file41);تو صفحه ای که گذاشتی کلا دوتا li هست که اونم این الگ. ر. تطبیق میدن
<li class=\"bg-item\">.*<\/li>
@code2code
آقا مهدی این عکس نگاه کن این تگ وجود دارد نمیدونم چرا زمانی که با دستور می خواهم این اطلاعات رو بیرون بکشم فقط آن دو liرو فقط نمایش میده
https://mega.nz/#!tdpixAhJ!0NtQCuvacGcz1b5Hsh8fCyXMOtFD3BGkVzhrqOx16uo
اینو تست کن کار میکنه
<li +class="bg-item item-.*" >(.|\n|\r\n)*?<\/li>توی سایت regex101 امتحان کردم شد
حتی تست کردم ۹۷ تا پیدا کرد
https://regex101.com/r/MaW0ew/1
https://regex101.com/r/MaW0ew/2
کد php به شکل زیر باشه m یادت نره
$re = '/<li +class="bg-item item-.*" >(.|\n|\r\n)*?<\/li>/m';
$str = '';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);@code2code
خالی نمایش میده
اینو بزن باید جواب بده
$ch = curl_init();
$url='https://www.aparat.com/search/%D8%A2%D9%85%D9%88%D8%B2%D8%B4_%D9%81%D8%A7%D8%B1%D8%B3%DB%8C_Redis';
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER=> true
]);
$output = curl_exec($ch);
curl_close($ch);
$re = "/<li +class=\"bg-item item-.*\" >[\W\w]*?<\/li>/im";
preg_match_all($re,$output,$match);@code2code
یک سوالی داشتم در این لینک می خواهم این تگ رو پیدا کنم اما صفحه خالی نمایش میده میشه کمک کنید
$u=urldecode('https://www.aparat.com/news');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$u);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
$cc = curl_exec($ch);
curl_close($ch);
$kh="/<div style=\"display: table;float: none;\" id=\"wrapper_pagerMore_block-grid-result_bottom\" class=\"pagerMore_more_bottom pagerMore_autoload pagerMore_autoScroll clicked\">[\W\w]*?<\/div>/im";
preg_match_all($kh, $cc, $matts);
$file410=fopen('aparat/scroll.txt','w');
foreach ($matts[0] as $vall1) {
fwrite($file410, $vall1."\n");
}
fclose($file410);/<div style=\"display: table;float: none;\" id =\"wrapper_pagerMore_block-grid-result_bottom\" class=\"pagerMore_more_bottom pagerMore_autoload pagerMore_autoScroll\" >[\W\w]*?<\/div>/im
ضمنا چرا اصرار داری هی decode کنی url رو؟
@code2code
دیکد نکردم کجا رو داری میگی
اینو میگم
$u=urldecode('https://www.aparat.com/news');