【问题标题】:PHP html generator classPHP html 生成器类
【发布时间】:2012-03-25 02:15:58
【问题描述】:

我使用这个类来创建 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: me@me.com</td>Re: helooo</td></tr>
    <tr>

    <td>
    <td>
    <td>
    <td>1.67kB</td>27 Feb 6:56 AM</td>me@me.com</td>Re: Helloo</td></tr></table>

这就是我需要的:

<table id="messagelist">
    <tr>
    <td>1.91kB<td></td>23 Feb 11:56 AM</td><td>To: me@me.com</td><td>Re: helooo</td></tr>
    <tr>
    <td>1.67kB</td><td>27 Feb 6:56 AM</td><td>me@me.com</td><td>Re: Helloo</td></tr></table>

【问题讨论】:

    标签: php html class foreach


    【解决方案1】:

    试试:

    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']);
    }
    

    【讨论】:

    • @Ste 那么你能发布你所期望的和你得到的吗?怎么了?
    【解决方案2】:

    对这个生成器不太熟悉,但是您只在最后一个 ->setText 之后包含了一个分号。那是适当的语法吗?我以前见过这种类型的速记,但通常它要求你的第一个是完整的声明:

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

    或许值得一试。

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 2012-04-16
      • 2019-07-03
      • 2016-02-01
      • 1970-01-01
      • 2013-07-04
      • 2011-12-31
      • 2010-12-05
      相关资源
      最近更新 更多