<head>
<title> My New Web Page </title>
</head>
<body>
<table>
<tr><td><h1> Welcome to My Web Page! </h1></td></tr>
<tr><td><div>Menu item 1<div>Menu item 2</div></div></td></tr>
</table>
</body>
$nodes_array[$recurse_count][$body_elem->tag] = $value;
設定値にPHPの配列に変換しようとしているある再帰関数
HTML DOMを介してPHPでHTMLのDOMをナビゲートしています
関数を呼び出すたびに配列を取得し、結果としてこれを取得します。
Array
(
[1] => Array
(
[body] => table
)
[2] => Array
(
[table] => tr
)
[3] => Array
(
[tr] => td
)
[4] => Array
(
[td] => div
)
[5] => Array
(
[div] => div
)
)
しかし、私は、私は十分な知識がなくても、変数を参照してプレーしようとしたこの
Array
(
[1] => Array
(
[body] => Array
(
[table] => Array
(
[tr] =>
[0]=>Array
(
[td] => div
)
[1]=>Array
(
[td] => Array
(
[div] => div
)
)
)
)
)
を取得したいです。
機能コード - あなたは要素の実際の値を保存するときに、再帰関数で>
function recurve_extract($body_elem, $tag_str_name,$recurse_count)
{
global $nodes_array;
global $recurve_level;
if (sizeof($body_elem->children()) > 0);
{
foreach($body_elem->children() as $each_elem)
{
echo "<hr/>";
echo $tag_str_name = $tag_str_name . '[' . $each_elem->tag . ']';
$keys = explode('][', trim($tag_str_name, '[]'));
print_r($keys);
echo $body_elem->tag," == ".$each_elem->tag;
//$value = array($each_elem->tag=>"");
$value = $each_elem->tag;
// setValue($nodes_array,$keys,$value);
$nodes_array[$recurse_count][$body_elem->tag] = $value;
if($recurse_count<10)
{
recurve_extract($each_elem, $tag_str_name,$recurse_count+1);
}
}
}
}
recurve_extract($body_elem, '[body]',1);
print_r($nodes_array);
echo "</pre>";
あなたは関数のコードを追加することができます。 –
@NigelRen done、関数phpコードが追加されました –