php 将table转换成数组的函数,单词之间的空格也被删掉了!

下面是我用的函数,可以正常转换,就是转换之后 英语句子里面单词之间没有空格了,谁帮我看下。

 function get_td_array($table) {
            $td_array = "";
            $table = preg_replace("'<table[^>]*?>'si", "", $table);
            $table = preg_replace("'<tr[^>]*?>'si", "", $table);
            $table = preg_replace("'<td[^>]*?>'si", "", $table);
            $table = str_replace("</tr>", "{tr}", $table);
            $table = str_replace("</td>", "{td}", $table);

            $table = preg_replace("'<[\/\!]*?[^<>]*?>'si", "", $table);

            $table = preg_replace("'([\r\n])[\s]+'", "", $table);
            $table = str_replace(" ", "", $table);
            $table = str_replace(" ", "", $table);

            $table = explode('{tr}', $table);
            array_pop($table);
            foreach ($table as $key => $tr) {
                $td = explode('{td}', $tr);
                array_pop($td);
                $td_array[] = $td;
            } 
            return $td_array;
        } 

[\s]+表示空格,你要保留,就把它删除。