Me ayudan a mejorar este script de php? (propio)

Primer dia de php en serio, primera duda :-), cree este script de cero para mostrar fecha completa, funciona perfecto, lo que hice fue unas variables q llaman datos "date" (de fecha) al servidor, y en los meses y dias crear un switch para traducir a español cada uno, hasta ahi bien, quise poner si es AM o PM, y tuve que hacerlo con switch tambien, no encontre otra forma y es poco practico ya que son 24 pedazos uno para cada hora.

<html>
<head>
<title>Formato de fecha por ricky</title>
</head>
<body>

<?php

$dia=date("l");
$numerodia=date("d");
$mes=date("n");
$año=date("Y");
$hora=date("h");
$minutos=date("i");
$franja=date("h");

switch($dia)
{
case'Monday':
$dia='Lunes';
break;

case'Tuesday':
$dia='Martes';
break;

case'Wednesday':
$dia='Miercoles';
break;

case'Thursday':
$dia='Jueves';
break;

case'Friday':
$dia='Viernes';
break;

case'Saturday':
$dia='Sabado';
break;

case'Sunday':
$dia='Domingo';
break;
}

switch($mes)
{

case'1':
$mes='Enero';
break;

case'2':
$mes='Febrero';
break;

case'3':
$mes='Marzo';
break;

case'4':
$mes='Abril';
break;

case'5':
$mes='Mayo';
break;

case'6':
$mes='Junio';
break;

case'7':
$mes='Julio';
break;

case'8':
$mes='Agosto';
break;

case'9':
$mes='Septiembre';
break;

case'10':
$mes='Octubre';
break;

case'11':
$mes='Noviembre';
break;

case'12':
$mes='Diciembre';
break;
}

switch($franja)
{
case'0':
$franja='AM';
break;

case'1':
$franja='AM';
break;
case'2':
$franja='AM';
break;
case'3':
$franja='AM';
break;
case'4':
$franja='AM';
break;
case'5':
$franja='AM';
break;
case'6':
$franja='AM';
break;
case'7':
$franja='AM';
break;
case'8':
$franja='AM';
break;
case'9':
$franja='AM';
break;
case'10':
$franja='AM';
break;
case'11':
$franja='AM';
break;
case'12':
$franja='PM';
break;
case'13':
$franja='PM';
break;
case'14':
$franja='PM';
break;
case'15':
$franja='PM';
break;
case'16':
$franja='PM';
break;
case'17':
$franja='PM';
break;
case'18':
$franja='PM';
break;
case'19':
$franja='PM';
break;
case'20':
$franja='PM';
break;
case'21':
$franja='PM';
break;
case'22':
$franja='PM';
break;
case'23':
$franja='PM';
break;
case'24':
$franja='PM';
break;
}


echo"Bienvenido! hoy es $dia $numerodia de $mes de $año. Son las $hora : $minutos $franja ";

?>

</body>
</html>

la pregunta seria: como le digo a un case que lea mas de un valor? intente '1,2,3,' o '1;2;3;' ya que quedaria mucho mejor

lo que imprime es:

Bienvenido! hoy es Viernes 05 de Agosto de 2011. Son las 12 : 33 PM
Tu script es demaciado largo, he creado un script nuevo que comple tus requerimientos, muy simple, y facil de implementar, con ajuste de franja horaria con respecto al servidor.

Puedes verlo funcionar aqui: http://www.cctw.aportaciones.net/fecha.php

y aqui el script:
<?php
/*////////////////////////////////////////////
// Codigos Y Funciones Utilies En PHP       //
// Sitio Web: http://www.serverdns.us       //
// Soporte Tecnico: [correo eliminado]    //
////////////////////////////////////////////*/

$GMT=-1; // Ajuste De La Franja Horaria, Conforme La Configuracion del Servidor
$time=time()+(3600*$GMT);
$meses=array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
$dias=array('Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sabado');
$mes=date("n",$time);
$dia=date("w",$time);

echo "Bienvenido hoy es ".$dias[$dia]." ".date("d",$time)." de ".$meses[$mes-1]." de ".date('Y',$time).", son las ".date('g : i A',$time)."<br>";
?>

La hora que muestra esta ajustada a la hora central de mexico.

El uso de arreglos para los nombres facilita mucho la programacion, incluso para traducir a otros idiomas es mas facil, tener varios idioma para elegir despues del ingles.
Gracias serverdns pero no es que necesite copiar uno ya hecho, es que estoy aprendiendo y quiero saber no copiar, en cuanto a lo de yaneth como se aplica el or??

EDITO: SI FUNCIONA YANETH:
$franja=date("H");
switch($franja)
{
case('00'or'01'or'02'or'03'or'04'or'05'or'06'or'07'or'08'or'09'or'10'or'11'):
$franja='AM';
break;

case('12'or'13'or'14'or'15'or'16'or'17'or'18'or'19'or'20'or'21'or'22'or'23'or'24'):
$franja='PM!';
break;
}

ahora como saco el formato de hora en 24hrs y no de 12hrs?? yo uso ("H"); o ("h"); y muestra eb formato 12hrs
Descuida ricky no se trata de que copies mi codigo, pero si lo analizas te facilitaria mucho tu programacion, date('A') te da como resultado AM o PM sin necesidad de utlizar nada mas.
jaja viste estoy como los de "como pongo una imagen en mi web", pero asi empezamos todos, si, ya lo vi, pues gracias, pronto pongo mi version 2.0 jaja gracias un saludo. (disculpa si te sono feo lo de "copiar")