<?php $yil=date("Y");//2020 function clean($str) { $str = json_encode($str); $str = str_replace("\u00a0", " ", $str); $str = json_decode($str); return $str; } header('Content-Type: text/html; charset=utf-8'); function resarch($needle, $haystack, $currentKey = '') { foreach($haystack as $key=>$value) { if (is_array($value)) { $nextKey = resarch($needle,$value, $currentKey . $key); if ($nextKey) { return $nextKey; } } else if($value==$needle) { return is_numeric($key) ? $currentKey : $currentKey ; } } return false; } header('Content-Type: text/html; charset=utf-8'); libxml_use_internal_errors(true); $hosting="http://www2.diyanet.gov.tr"; $url=$hosting."/DinHizmetleriGenelMudurlugu/Sayfalar/ResmiTatilGunlerinListesi.aspx"; $string = file_get_contents($url, false, null, -1); preg_match_all( '/\/([^"]*)'.$yil.'([^"]*)aspx"/i', $string, $output); $tatilliste=$hosting.str_replace('%2F','/',urlencode(str_replace('"',"",$output[0][0]))); $string = file_get_contents($tatilliste, false, null, -1); $dom = new DOMDocument; $dom->loadHTML( $string ); $rows = array(); $x=0; foreach($dom->getElementsByTagName( 'tr' ) as $tr ) { $x++; $cells = array(); if($x>3){ foreach( $tr->getElementsByTagName( 'td' ) as $td ) { $cells[] = str_replace(array(" ","​","\xE2\x80\x8C","\xE2\x80\x8B",),array(' ','','',''),$td->nodeValue); } $rows[] = $cells; } } $c=resarch('CUMHURİYET BAYRAMI', $rows); $e=$rows[$c]; unset($rows[$c]); $f1=explode(' ',$e[2]); $f2=explode("\r\n",$e[3]); $rows[]=array($e[0],$e[1],$f1[0]." ".$f1[1],$f2[0]); $rows[]=array($e[0],$e[1],str_replace("\r\n",'',($f1[2]." ".$f1[3])),$f2[1]); $aylar=array('','OCAK','ŞUBAT','MART','NİSAN','MAYIS','HAZİRAN','TEMMUZ','AĞUSTOS','EYLÜL','EKİM','KASIM','ARALIK'); $data=array(); foreach($rows as $r){ $gun=explode(' ',clean($r[2])); $ay=array_search($gun[1],$aylar); $tm=strtotime($gun[0]."-".$ay."-2020"); $tarih=date("Y-m-d",$tm); $data[]=array($r[0],$r[1],$r[2],$r[3],$tarih,$tm); } print_r($data);
Çıktısı
Array ( [0] => Array ( [0] => EMEK VE DAYANIŞMA GÜNÜ* [1] => 1 GÜN [2] => 01 MAYIS [3] => CUMA [4] => 2020-05-01 [5] => 1588284000 ) [1] => Array ( [0] => ATATÜRK'Ü ANMA GENÇLİK VE SPOR BAYRAMI [1] => 1 GÜN [2] => 19 MAYIS [3] => SALI [4] => 2020-05-19 [5] => 1589839200 ) [2] => Array ( [0] => RAMAZAN BAYRAMI AREFESi [1] => 1/2 GÜN [2] => 23 MAYIS [3] => CUMARTESİ [4] => 2020-05-23 [5] => 1590184800 ) [3] => Array ( [0] => RAMAZAN BAYRAMI [1] => 1. GÜN [2] => 24 MAYIS [3] => PAZAR [4] => 2020-05-24 [5] => 1590271200 ) [4] => Array ( [0] => RAMAZAN BAYRAMI [1] => 2. GÜN [2] => 25 MAYIS [3] => PAZARTESİ [4] => 2020-05-25 [5] => 1590357600 ) [5] => Array ( [0] => RAMAZAN BAYRAMI [1] => 3. GÜN [2] => 26 MAYIS [3] => SALI [4] => 2020-05-26 [5] => 1590444000 ) [6] => Array ( [0] => DEMOKRASİ VE MİLLİ BİRLİK GÜNÜ* [1] => 1 GÜN [2] => 15 TEMMUZ [3] => ÇARŞAMBA [4] => 2020-07-15 [5] => 1594764000 ) [7] => Array ( [0] => KURBAN BAYRAMI AREFESi [1] => 1/2 GÜN [2] => 30 TEMMUZ [3] => PERŞEMBE [4] => 2020-07-30 [5] => 1596060000 ) [8] => Array ( [0] => KURBAN BAYRAMI [1] => 1. GÜN [2] => 31 TEMMUZ [3] => CUMA [4] => 2020-07-31 [5] => 1596146400 ) [9] => Array ( [0] => KURBAN BAYRAMI [1] => 2. GÜN [2] => 01 AĞUSTOS [3] => CUMARTESİ [4] => 2020-08-01 [5] => 1596232800 ) [10] => Array ( [0] => KURBAN BAYRAMI [1] => 3. GÜN [2] => 02 AĞUSTOS [3] => PAZAR [4] => 2020-08-02 [5] => 1596319200 ) [11] => Array ( [0] => KURBAN BAYRAMI [1] => 4. GÜN [2] => 03 AĞUSTOS [3] => PAZARTESİ [4] => 2020-08-03 [5] => 1596405600 ) [12] => Array ( [0] => ZAFER BAYRAMI [1] => 1 GÜN [2] => 30 AĞUSTOS [3] => PAZAR [4] => 2020-08-30 [5] => 1598738400 ) [13] => Array ( [0] => CUMHURİYET BAYRAMI [1] => 1,5 GÜN [2] => 28 EKİM [3] => ÇARŞAMBA [4] => 2020-10-28 [5] => 1603839600 ) [14] => Array ( [0] => CUMHURİYET BAYRAMI [1] => 1,5 GÜN [2] => 29 EKİM [3] => PERŞEMBE [4] => 2020-10-29 [5] => 1603926000 ) )