
Das folgende Beispielscript generiert einen einfachen Kalender mittels PHP. Farben, Schriftarten und Schriftgrößen können an die jeweiligen Bedürfnisse angepasst werden. Der ausgegebene Code ist HTML5-valide.
Live-Demo:
<?php// Farben und Schriften$col0='#000000'; // Standard-Schriftfarbe$col1='#666666'; // Schriftfarbe Monat, Jahr, Mo-Fr$col2='#0000CC'; // Schriftfarbe Samstage$col3='#CC0000'; // Schriftfarbe Sonntage$col4='#FFFFFF'; // Schriftfarbe aktueller Tag$col5='#6868F9'; // Hintergrund aktueller Tag$col6='#FFFFFF'; // Hintergrund Kalender$font0='Tahoma,Arial'; // Standard-Schriftart$font1='Arial'; // Schriftart Monat, Jahr$font2='Verdana';// Schriftart Wochentage$size0='7pt'; // Standard-Schriftgröße$size1='13pt'; // Schriftgröße Monat, Jahr$size2='9pt'; // Schriftgröße Wochentage// Hole Daten$month=date('n');$year=date('Y');$now=date('d');$firstday=date('w', mktime(0,0,0,$month,1,$year));$summary=date('t', mktime(0,0,0,$month,1,$year));$setmonth=array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'); if($firstday==0){ $firstday=7; }// HTML5 Headerecho '<!DOCTYPE html>';echo '<html lang="de">';echo '<head>';echo '<title>Kalender</title>';echo '<meta charset="UTF-8">';echo '<meta name="viewport" content="width=device-width, initial-scale=1.0">';echo '</head>';// HTML5 Bodyecho '<body style="color:'.$col0.';background-color:'.$col6.';">';echo '<table style="border:0;font-size:'.$size2.';font-family:'.$font2.';">';echo '<tr><th style="text-align:center;font-size:'.$size1.';font-family:'.$font1.';color:'.$col1.';" colspan="7">'.$setmonth[$month-1].' '.$year.'</th></tr>';echo '<tr><td style="color:'.$col1.';"><b>Mo</b></td><td style="color:'.$col1.';"><b>Di</b></td>';echo '<td style="color:'.$col1.';"><b>Mi</b></td><td style="color:'.$col1.';"><b>Do</b></td>';echo '<td style="color:'.$col1.';"><b>Fr</b></td><td style="color:'.$col2.';"><b>Sa</b></td>';echo '<td style="color:'.$col3.';"><b>So</b></td></tr>';echo "<tr>\n";$i=1; while($i<$firstday){ echo '<td> </td>'; $i++; }$i=1; while($i<=$summary){ $rest=($i+$firstday-1)%7; if($i==$now){echo '<td style="text-align:center;font-size:'.$size0.';font-family:'.$font0.';background-color:'.$col5.';">';} else{ echo '<td style="text-align:center;font-size:'.$size0.';font-family:'.$font0.';">'; } if($i==$now){ echo '<span style="color:'.$col4.';">'.$i.'</span>'; } else if($rest==6){ echo '<span style="color:'.$col2.';">'.$i.'</span>'; } else if($rest==0){ echo '<span style="color:'.$col3.';">'.$i.'</span>'; } else{ echo $i; } echo "</td>\n"; if($rest==0){ echo '</tr><tr>'; }$i++;}// HTML5 Body Endeecho '</tr>';echo '</table>';echo '</body>';echo '</html>';?> Quelle Code: Internet, angepasst, erweitert und ergänzt