Por eso te digo el va a restar un mes al dia en en que se encuentra para que veas lo que te estoy diciendo hazlo asi
Código php:
Ver original//$texto .= "<category Name='".(date("n",strtotime($fecha)))."' />\n";
echo $fecha."<br>";
Esto va a parecer
2009-02
Pero si lo haces solamente
Código php:
Ver original//$texto .= "<category Name='".(date("n",strtotime($fecha)))."' />\n";
echo $fecha."<br>";
Te va a traer
2009-03
Porque va a buscar el 29 de febrero que no existe. Acuerdate que el codigo va a buscar conforme a la fecha que tiene el servidor y va a restar un mes de acuerdo a esa fecha que es del dia de hoy que es 29 resta menos 5 meses. Este error te va a pasar cuando tengas un mes que tenga 31 dias y los demas meses te va a traer repeticion en varios meses