ozberk öncelikle hoşgeldin aramıza
Mesajını okuduktan hemen sonra aşağıdaki kodu yazdım, normalde bu işin hakkı "Regular Expressions" kullanmaktır, lakin ben RegExp patternleri konusunda çok bilgili değilim, o yüzden bu hızlıca ve "amele usülü" yazılmış kod geçici bir süre işini görecektir.
Kod:
//ders ve haftalik program bilgileri..
$lessons = array("E"=>"Edebiyat","M"=>"Matematik","A"=>"Anatomi");
$timings = array("E"=>"TThTh 123","M"=>"TWM 211","A"=>"ThMW 310");
//haftalik program bilgisini string islemleri ile parse edecek fonksiyon
function parseSchedule($sTiming)
{
$aDayHours = explode(" ",$sTiming);
//gunler
$days = $aDayHours[0];
//saatler
$times = $aDayHours[1];
//gun bilgisini parse etmeye baslayabiliriz..
$replaced = str_replace("Th","&",$sTiming);
$d0 = substr($replaced,0,1);
$d1 = substr($replaced,1,1);
$d2 = substr($replaced,2,1);
//simdi de zaman bilgisini bolelim..
$t0 = substr($times,0,1);
$t1 = substr($times,1,1);
$t2 = substr($times,2,1);
//hepsini toplayalim..
$joinedString = $d0.":".$t0.",".$d1.":".$t1.",".$d2.":".$t2;
$joinedString = str_replace("&","Th",$joinedString);
//simdi bunlari arrayde birlestirecegiz..
$cache = explode(",",$joinedString);
return $cache;
}
//kodun kalan kismi dizi dongusu ve fonksiyonun cagirilmasi vs..
foreach($lessons as $code=>$lessonName)
{
$timing = $timings[$code];
if($timing)
{
//bu derse ait program bulunmasi durumu..
$timingParsed = parseSchedule($timing);
print $lessonName."<br>";
for($i=0;$i<count($timingParsed);$i++)
{
$timeInfo = $timingParsed[$i];
print substr($timeInfo,0,strpos($timeInfo,":")).": ".substr($timeInfo,strpos($timeInfo,":")+1,1)."<br>";
}
print "<br><br>";
}
}