It's a pain but you will have to quote double quotes with single quotes and single quotes with double quotes. Something like this:
put "xxx 'and this in single quotes' xxx" ' yyy "and this in doubles quotes" yyy';
or this way:
put "xxx 'and this in single quotes' xxx" @;
put 'yyy "and this in doubles quotes" yyy';
As much as I know there is not really an easier way with SAS of creating this kind of html you seem to aim for.
One possibility would be to have your html code in an external file, using tokens for the parts SAS should replace and then using something like:
data _null_;
infile ....;
file ....;
input;
;
put _infile_;
run;
You could also use more than one data step, let's say the first and the last write the header and "footer" section of you html which is normaly static, the middle part writes the dynamic section.
HTH
Patrick