one problems is the greed. regular expressions are greedy they will match as much as possible by default
/OPEN(.*)CLOSE/ used on "OPEN CLOSE CLOSE" will match the first open and the last close
you want to turn on non greedy... read up on php.net about preg_ functions and syntax
A question mark will make it stop matching . the first CLOSE which is what i think you want
/OPEN(.*?)CLOSE/