Ben yorum alanı için çok ayrıntılı bir soru ile ilgili bir sorum var.
O öznitelik veri sığdırmak için nasıl istiyorsun? Bir Whory Tablo gerekiyordu ™ gibi
array('html', null, array (
array( 'div' , null , array(
array('ul', array('id'=>'foo'), array(
array('li', null, 'foo' ),
array('li', null, array(
array(null,null, 'bar'),
array('ul', null, array(
array('li', null, 'sub-bar' )
))
))
))
))
))
));
Bu doğru programlı bir HTML veri kümesi temsil etmek için gerekli minimum yapıdır çünkü.
Ben varsayım eğer yaparak, oldukça çok "text-düğümü" elemanları için ihtiyacı ortadan kaldırarak biraz aldattım
array (isim, nitelik, çocuk)
has a string instead of an array for 'children' then its an implicit text-node,
and that nodes with name == null are dont have tags and are thus also text nodes.
Ne istediğiniz düşünüyorum hayatınızı kolaylaştırmak için bir ağaca varolan bazı html ayrıştırmak olacak uygun bir programatik DOM üretme aracı
FWIW, yukarıda yapısı oldukça kolay html içine serileştirilebilir.
function tohtml( $domtree ){
if( is_null($domtree[0]) ){
if( !is_array($domtree[2])){
return htmlentities($domtree[2]);
}
die("text node cant have children!");
}
$html = "<" . $domtree[0];
if( !is_null( $domtree[1] ) )
{
foreach( $domtree[1] as $name=>$value ){
$html .= " " . $name . '="' . htmlentities($value) . '"';
}
}
$html .= ">" ;
if( !is_null($domtree[2]) ){
if( is_array($dometree[2]) ){
foreach( $domtree[2] as $id => $item ){
$html .= tohtml( $item ); # RECURSION
}
}
else {
$html .= htmlentities($domtree[2]);
}
}
$html .= "</" . $domtree[1] . ">";
return $html;
}