there is no such thing as a php dtd, and yes, it is because you use php to output html, so you should atleast use a html dtd, though i would be more inclined to aim for at least xhtml transitional.
also your problem with green3 stems from there being no such color in the html specification. ive never used named colors and would always atleast recommend using there hex value, though once again, i would recommend using css over anything inline, and well, yeah, if your going to do that your best (once again) aiming for atleast xhtml tranistional.
your page might be validating now, but really, html loose is, well, a very loose standard to aim for.