关于domdocument表的奇怪问题

时间:2013-08-27 23:20:29

标签: php domdocument

表格单元格有一个非常奇怪的问题。

我以前的帖子 How to append element to another element using php

我的代码如下

$dom = new DomDocument();
$dom->loadHTML($html]);
$tbodies = $dom->getElementsByTagName('tbody');
foreach ($tbodies as $tbody) {
    $table = $dom->createElement('table');
    $table->setAttribute('width',500);
    $table->setAttribute('style','border:2px solid #8C8C8C;text-align:center;table-layout:fixed; border-collapse:separate;');

     $tbody->parentNode->replaceChild($table, $tbody);
     $table->appendChild($tbody);
 }
$returnText .=$dom->saveHTML();

从我以前的姿势,我得到了我的答案,但似乎新的html表在表格单元格中没有边框。

所以我的表就像

 ___________
|cell  cell |
|cell  cell |
|___________| 

但我希望每个细胞都有边界。 我确信我的原始html表格单元格也没有内联样式来处理单元格边框。

有人可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

单元格上没有边框,因为在css中,table标记的格式与单元格tdth标记分开设置。见这里:http://www.quackit.com/html/codes/tables/html_table_border.cfm

编辑:更好的链接。

答案 1 :(得分:0)

我从未使用过domdocument,但我看到了这一行:

$table->setAttribute('style','border:2px solid #8C8C8C;text-align:center;table-layout:fixed; border-collapse:separate;');

尝试为表格添加一个时尚表格和单元格的类,而不是添加会使您的表格变得时尚而不是td单元格的样式属性:

$table->setAttribute('class','test');

并添加一个css文件或包含您班级的样式:

 <style type='text/css'>

    .test{
       border:2px solid #8C8C8C;
       text-align:center;
       table-layout:fixed;
       border-collapse:separate;
     }

    .test th,.test td{border:2px solid #8C8C8C;}
 </style>