strpos also takes an option third argument called offset so you can specify where strpos should start looking. you can run a loop and every time it runs through you can set a variable offset to $findEndMulti.
so you could have something like this:
$offset = 0;
while(($findStartMulti = strpos($html, "[MULTI(n)]", $offset)) !== FALSE) {
$findEndMulti = strpos ($html, "[/MULTI]", $offset);
$end = $findEndMulti - $findStartMulti;
$data = substr($html, $findStartMulti+10, $end-10);
echo "Variable data= ".$data."<br>";
$offset = $findEndMulti;
}
see if that does the trick. i was not able to test at the moment because im in a comp class.