Hola,
Tienes que crearte una lista con todos los festivos del año(o años). Por ejemplo, en un array. Luego recorres el array contando cuantos de esos elementos entra en tu periodo. Y ese numero se lo restas al numero total que ya tienes obtenido.
Por ejemplo:
Código PHP:
$festivos=array(20040106,20040108); // asi en aaaammdd o en timestamp, todos los festivos, sabados y domingos
$inicio=20040202; // fecha inicio, asi o en tiem stamp
$final=20040313; // fecha final
$num_festivos=0;
foreach ($festivos as $festivo) {
if ($festivo>=$inicio && $festivo<=$final) $num_festivos++;
}
// y aqui restas del valor que tenias antes
$total=diff_date($inicio,$final)-$num_festivos;
Mas o menos la idea seria esa.+
Suerte.