راکت

بیرون کشیدن برخی تگ ها

18 پاسخ

یک سری تگ ها وقتی inspect میگیریم در مروگر نمایش میده اما زمانی که بخواهیم با رجکس آن تگ ها را بیرون بکشیم پیدا نمیکند مشکل کار کجاس

الان من میخواهم این <li class="bg-item item-ARbit">gsdhfgh</li> تگ ها رو با preg-match_allبیرون بکشم اما نمایش نمیده احساس میکن مخفی است

ثبت پرسش جدید

پاسخ‌ها

18
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

این li رو چه زمانی میخواید بگیرید که این متد بیرون بکشید !‌
سناریو کارو مقداری توضیح بدید لطفا

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@hesammousavi
زمان خاصی نداره
می خواهم با رجکس فقط این اطلاعات رو بیرون بکشم

شاید پاسخ شما همین‌جا باشد

مهدی
مهدی
@code2code

چندتا چیزو مطمئن شو یک اینکه اون تگا با js ساخته نشد باشن
دو اینکه کد regex درست زدی؟
ضمنا لینک بده ماهم ببینیم بهتر نظر بدیم

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@code2code

$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);
مهدی
مهدی
@code2code

تو صفحه ای که گذاشتی کلا دوتا li هست که اونم این الگ. ر. تطبیق میدن
<li class=\"bg-item\">.*<\/li>

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@code2code
آقا مهدی این عکس نگاه کن این تگ وجود دارد نمیدونم چرا زمانی که با دستور می خواهم این اطلاعات رو بیرون بکشم فقط آن دو liرو فقط نمایش میده
https://mega.nz/#!tdpixAhJ!0NtQCuvacGcz1b5Hsh8fCyXMOtFD3BGkVzhrqOx16uo

مهدی
مهدی
@code2code

اینو تست کن کار میکنه

<li +class="bg-item item-.*" >(.|\n|\r\n)*?<\/li>
1masoud
1masoud
@masoudproton

تخصص: php,laravel

@code2code

آقا مهدی زدم نشد

مهدی
مهدی
@code2code

توی سایت regex101 امتحان کردم شد
حتی تست کردم ۹۷ تا پیدا کرد
https://regex101.com/r/MaW0ew/1
https://regex101.com/r/MaW0ew/2

مهدی
مهدی
@code2code

کد php به شکل زیر باشه m یادت نره

$re = '/<li +class="bg-item item-.*" >(.|\n|\r\n)*?<\/li>/m';
$str = '';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
1masoud
1masoud
@masoudproton

تخصص: php,laravel

@code2code
خالی نمایش میده

مهدی
مهدی
@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);
1masoud
1masoud
@masoudproton

تخصص: php,laravel

@code2code

دستت درد نکنه درست شد

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@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);
مهدی
مهدی
@code2code
/<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 رو؟

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@code2code
دیکد نکردم کجا رو داری میگی

مهدی
مهدی
@code2code

اینو میگم
$u=urldecode('https://www.aparat.com/news');

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@code2code

اوکی درست کردم ممنون

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام