<?php
 
$txt= <<<TXT
post text
<!--quote-->quote1<!--quote-->sub-quote1<!--/quote--><!--/quote-->
post text
<!--quote-->quote2<!--/quote-->
post text
TXT;

$result = preg_split('%(<!--.*?-->)%sim', $txt,-1,PREG_SPLIT_DELIM_CAPTURE);

$nested = 0;
$set = [];
foreach($result as $r) {
	if($r == '<!--quote-->') { $nested += 1;}
	elseif($r == '<!--/quote-->') { $nested -= 1; }
	else {
		$set[] = [$r,$nested];
	}
}

var_export($set);