Вы должны проанализировать этот вывод PHP с помощью парсера xml.Используйте что-то вроде:
$phpOutput = ... ; //this is the output containing only the table
$xml = simplexml_load_string($phpOutput);
$csvOutput = "";
foreach ($xml->tr as $rows)
{
$cells = array();
foreach ($rows->td as $cell)
{
$cells[] = (string)$cell;
}
$csvOutput .= implode(",",$cells)."\r\n";
}
$smarty->assign("csv",$csvOutput);
Конечно, вы должны быть осторожны и закрывать каждый тег, если вы не хотите получать предупреждения.