Converter HTML para CSV em php?

Eu tenho uma estrutura de tabela html como esta;

            <tr style="font-weight: bold">
                <td>ID</td>
                <td>Navn</td>

                <td>Adresse</td>
                <td>By</td>
                <td>Post nr</td>
                <td>E-mail</td>
                <td>Telefon</td>
                <td>Status og dato</td>
                <td>Dropdown info</td>
                <td>Produkt info</td>
                <td>Buydate</td>
                <td>Ref nr. (3 første cifre)</td>
            </tr>
                    <tr>
                <td>40563</td>
                <td>Firstname Lastname</td>

                <td>Address</td>
                <td>Copen</td>
                <td>2100</td>
                <td>[email protected]</td>
                <td>123123</td>
                <td>Ikke indløst</td>
                <td>EEE-BBB</td>
</tr>

Eu gostaria de converter isso em um arquivo csv / excel por php.

Então cada um é uma linha no excel, e cada um é uma célula na linha,

Por favor, como isso pode ser feito?

Eu pesquisei e encontreiConvertendo Tabela HTML para um CSV automaticamente usando PHP? mas a resposta não funciona corretamente para mim, estou recebendo todos os resultados da célula em uma 'célula', para que cada linha tenha apenas uma célula.

Isso é o que eu tentei;

        $html = str_get_html($table);



        header('Content-type: application/ms-excel');
        header('Content-Disposition: attachment; filename=sample.csv');

        $fp = fopen("php://output", "w");

        foreach($html->find('tr') as $element)
        {
            $td = array();
            foreach( $element->find('td') as $row)  
            {
                $td [] = $row->plaintext;
            }
            fputcsv($fp, $td);
        }


        fclose($fp);
        exit;

Onde $ table é o html acima. Usando o plugin simples html dom

questionAnswers(3)

yourAnswerToTheQuestion