<?php $html = '<h2>Spiders</h2> <h2>Beetles</h2> <h3>External morphology</h3> <h4>Head</h4> <h4>Thorax</h4> <h4>Legs</h4> <h5>Feet</h5> <h3>Anatomy and physiology</h3> <h2>Ants</h2>'; function push_values(&$k, $depth, $content) { $output = array(); $cdepth = $depth[$k]; while ($k < count($depth)) { if ($depth[$k] == $cdepth) { $output[$content[$k]] = ''; $k++; } elseif ($depth[$k] > $cdepth) { $output[$content[$k-1]] = push_values($k, $depth, $content); } else { return $output; } } return $output; } preg_match_all('/<h(\d)>([^<]+)/', $html, $matches); $key = 0; print_r(push_values($key, $matches[1], $matches[2]));
You have javascript disabled. You will not be able to edit any code.