ti so dire che ie legge width=40 e li prende x 40px e quindi non appena la parola finisce ha superato il limite e va a capo.

per il php so un po' niubbo posso fare delle prove se non trovi qualcuno più pratico prima però l'inversione tra width e class è dovuta a una tua trascrizione oppure realmente è così?

ho provato e solo da quello non ci dovrebbero essere problemi, inoltre, il fatto che l'output sia diverso mi disorienta un po', credo che dovresti postare in php e fornire altre indicazioni, in primis perché il server fornisce un diversto html.