2012-03-07 72 views
1

我使用这个类来创建HTML内容PHP HTML生成器类

http://code.google.com/p/php-class-html-generator/ 

我尝试用这种方式来建立一个表,但是HTML结果是错误的...

$messalist = array(...); 

    $html = htmltag::createElement('table')->id($attr['id']); 

     foreach($messagelist as $message){ 
      $html->addElement('tr') 
      ->addElement('td')->setText($message['subject']) 
      ->addElement('td')->setText($message['from']) 
      ->addElement('td')->setText($message['date']) 
      ->addElement('td')->setText($message['size']); 
     } 

echo $html; 

怎么办它在正确的方式? 感谢

这是生成的html:

<table id="messagelist"> 
    <tr> 
    <td> 
    <td> 
    <td> 
    <td>1.91kB</td>23 Feb 11:56 AM</td>To: [email protected]</td>Re: helooo</td></tr> 
    <tr> 

    <td> 
    <td> 
    <td> 
    <td>1.67kB</td>27 Feb 6:56 AM</td>[email protected]</td>Re: Helloo</td></tr></table> 

,这就是我需要:

<table id="messagelist"> 
    <tr> 
    <td>1.91kB<td></td>23 Feb 11:56 AM</td><td>To: [email protected]</td><td>Re: helooo</td></tr> 
    <tr> 
    <td>1.67kB</td><td>27 Feb 6:56 AM</td><td>[email protected]</td><td>Re: Helloo</td></tr></table> 
+0

它生成了什么HTML? – 2012-03-07 14:37:26

+0

刚刚发布.. – Ste 2012-03-07 16:14:40

回答

3

尝试:

foreach($messagelist as $message){ 
    $tr= $html->addElement('tr'); 
    $tr->addElement('td')->setText($message['subject']); 
    $tr->addElement('td')->setText($message['from']); 
    $tr->addElement('td')->setText($message['date']); 
    $tr->addElement('td')->setText($message['size']); 
} 
+0

嗨,刚刚编辑的问题 – Ste 2012-03-07 15:21:38

+0

@Ste所以你可以发布你期望什么,你有什么?哪里不对? – xdazz 2012-03-07 15:22:38

+0

编辑问题! – Ste 2012-03-07 16:12:33

0

不太熟悉这台发电机,但你在最后一个 - > setText后面只包含了一个分号。那是合适的语法吗?我以前见过这种速记,但通常需要您的第一个完整声明:

$html->addElement('td')->setText($message['subject']) 
    ->addElement.... 
    ->addElement... 
    ->addElement....; 

可能值得一试。