private static function extract($selector, $html, $inner = false)
{
$pos = 0;
$limit = 300;
$result = array();
$data = false;
do {
$data = self::find($selector, $html, $pos);
if ($data) {
$code = substr($html, $inner ? $data['inner_start'] : $data['outer_start'], $inner ? $data['inner_end'] - $data['inner_start'] : $data['outer_end'] - $data['outer_start']);
$result[] = $code;
$pos = $data['outer_end'];
}
} while ($data && --$limit > 0);
return $result;
}