Si usas comillas simples, te enviará el texto tal cual, las variables sólo las parsea si usas comillas dobles. El problema que tienes no es por usar html más complejo, sino probablemente porque al meter tablas usarás comillas en algún sitio, para añadirle parámetros a alguna etiqueta.
Usa comillas dobles, y cuando en el html haya alguna comilla, escápala con una barra \ , así:
Código PHP:
$shtml= "
<table>
<tr>
<td class=\"nombre_clase\">xxx</td>
</tr>
</table>
";
Otra opción es usar comillas dobles, y cuando dentro del html haya alguna comilla, usar las simples:
Código PHP:
$shtml= "
<table>
<tr>
<td class='nombre_clase'>xxx</td>
</tr>
</table>
";
Suerte.