🔥جمعه سیاه در راکت با (( ۷۰ درصد )) تخفیف! این فرصت دیگه تکرار نمیشه
مشاهده دورههاسلام دوستان در پروژه نیاز به تاریخ قمری دارم.
البته نیاز به رویداد های روز مثل : نوروز - روز ملی شدن نفت و .... رو Api رو میشناسید که محدودیت نداشته باشه ؟ و داخلی باشه
ممنون میشم دوستانی که اطلاع دارن کمک کنند.
سلام دوست عزیز این تاریخ به صورت جلالی یا همون شمسی هست و فکر کنم میلادی هم تبدیل میکنه ولی من نیاز به قمری دارم مثال :
الأربعاء ، ۱۴ شعبان ۱۴۴۱ ۱۴ - ۸ - ۱۴۴۱
سلام دوست عزیز، من چند وقت پیش گیر این موضوع بودم و این کارو کردم شاید به دردتون بخوره
// مناسبت های سال جاری
public function vacations() {
// Cache::forget( 'vacations' );
$data = \Illuminate\Support\Facades\Cache::remember( 'vacations' , \Carbon\Carbon::now()->addDay() , function () {
$crawler = new Crawler( file_get_contents( 'https://www.time.ir/fa/eventyear-%d8%aa%d9%82%d9%88%db%8c%d9%85-%d8%b3%d8%a7%d9%84%db%8c%d8%a7%d9%86%d9%87' ) );
$year = $crawler->filter( '#ctl00_cphTop_Sampa_Web_View_EventUI_EventYearCalendar10cphTop_3417_txtYear' )->attr( 'value' );
$vacations = $crawler->filter( '.eventsCurrentMonthWrapper' )->each( function ( Crawler $node , $i ) use ( $year ) {
$ul = $node->filter( 'ul' );
$days = $ul->filter( 'li' )->each( function ( Crawler $node , $i ) {
return $node->filter( 'span' )->eq( 0 )->text();
} );
$holidays = $ul->filter( 'li' )->each( function ( Crawler $node , $i ) {
return $node->attr( 'class' ) == 'eventHoliday' ? true : false;
} );
$reasons = $ul->filter( 'li' )->each( function ( Crawler $node , $i ) {
if ( $node->filter( 'span' )->eq( 1 )->text() ) {
return str_replace( $node->filter( 'span' )->eq( 1 )->text() , '' , str_replace( $node->filter( 'span' )->text() , '' , $node->text() ) );
} else {
return str_replace( $node->filter( 'span' )->text() , '' , $node->text() );
}
} );
$data = [];
foreach ( $days as $key => $day ) {
$date = $year . '/' . ( new Helper() )->day_date( $day );
if ( $index = array_search( $date , array_column( $data , 'date' ) ) ) {
$data[ $index ] = [
'date' => $date ,
'holiday' => ( $data[ $index ][ 'holiday' ] || $holidays[ $key ] ) ,
'reason' => $data[ $index ][ 'reason' ] . ' # ' . $reasons[ $key ]
];
} else {
array_push( $data , [
'date' => $date ,
'holiday' => $holidays[ $key ] ,
'reason' => $reasons[ $key ]
] );
}
}
return $data;
} );
return $vacations;
} );
return $data;
}
// تعطیلات سال جاری
public function holidays() {
return \Illuminate\Support\Facades\Cache::remember( 'holidays' , \Carbon\Carbon::now()->addDay() , function () {
return array_values( array_filter( array_map( function ( $item ) {
return array_values( array_filter( $item , function ( $value ) {
return $value[ 'holiday' ];
} ) );
} , $this->vacations() ) ) );
} );
}
از پکیج
"symfony/dom-crawler": "^5.0",
استفاده کردم و به خوبی جواب میده
از سایت time.ir اطلاعات استخراج میشه
نمونش رو بخوای توی این سایت استفاده کردم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟