2010-01-21 54 views
8

我正在寻找一个体面的PHP课程,它将生成复杂的HTML表格,即它应该支持colspan/rowspan以及行,列和单元格的单个CSS类。在PHP中是否有一个体面的HTML表生成器类?

+0

删除我的答案,因为你不喜欢它,希望你找到你喜欢的东西! – Veger 2010-01-21 16:23:19

+0

我只写了这个:https://github.com/donquixote/cellbrush – donquixote 2014-07-11 18:20:26

回答

3

看起来你的问题与我正在研究的一个小项目非常相关。

我刚刚更新了naomik/htmlgen2.x版本。

use function htmlgen\html as h; 
use function htmlgen\map; 

$beeData = [ 
    'pop' => 'yup', 
    'candy' => 'sometimes', 
    'flowers' => 'so much', 
    'water' => 'not really', 
    'sand' => 'indifferent', 
    'donuts' => 'most definitely' 
]; 

echo h('table', 
    h('thead', 
    h('tr', 
     h('td', 'item'), 
     h('td', 'do bees like it?') 
    ) 
), 
    h('tbody', 
    map($beeData, function($value, $key) { return 
     h('tr', 
     h('td', $key), 
     h('td', $value) 
    ); 
    }) 
) 
); 

输出(空格不包括在实际输出)

<table> 
    <thead> 
    <tr> 
     <td>item</td> 
     <td>do bees like it?</td> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
    <td>pop</td> 
    <td>yup</td> 
    </tr> 
    <tr> 
    <td>candy</td> 
    <td>sometimes</td> 
    </tr> 
    <tr> 
    <td>flowers</td> 
    <td>so much</td> 
    </tr> 
    <tr> 
    <td>water</td> 
    <td>not really</td> 
    </tr> 
    <tr> 
    <td>sand</td> 
    <td>indifferent</td> 
    </tr> 
    <tr> 
    <td>donuts</td> 
    <td>most definitely</td> 
    </tr> 
</tbody> 
</table> 

即使其中的一些例子看起来他们可能有点冗长,我想利用DSL非常编程方式的能力使它非常强大。

如果您真的有兴趣创建自己的图书馆,我很乐意与您合作。请查看该项目,并让我知道你在想什么:)

PS请参阅example目录中的其他代码,以获得更多乐趣!

+0

''在语义上很笨拙,您应该使用''和''来代替。 – Artefact2 2011-03-01 19:42:53

+0

@ Artefact2,我明白''更符合语义。我只是在这里做一个简单的例子:) – naomik 2011-03-01 20:41:18

+0

看起来非常接近'DOMDocument'的东西。为什么不直接使用这个? :) – kaiser 2013-11-19 14:55:35

相关问题