2010-01-21 56 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

相關問題