1masoud
5 سال پیش توسط 1masoud مطرح شد
18 پاسخ

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

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

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


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
1

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


1masoud
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

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


مهدی
@code2code 5 سال پیش مطرح شد
1

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


1masoud
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

@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 5 سال پیش مطرح شد
1

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


1masoud
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

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


مهدی
@code2code 5 سال پیش آپدیت شد
1

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

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

1masoud
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

@code2code

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


مهدی
@code2code 5 سال پیش مطرح شد
1

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


مهدی
@code2code 5 سال پیش آپدیت شد
1

کد 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
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

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


مهدی
@code2code 5 سال پیش مطرح شد
1

اینو بزن باید جواب بده

        $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
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

@code2code

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


1masoud
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

@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 5 سال پیش مطرح شد
1
/<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
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

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


مهدی
@code2code 5 سال پیش مطرح شد
1

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


1masoud
تخصص : php,laravel
@masoudproton 5 سال پیش مطرح شد
1

@code2code

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


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

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