Whilst decowski's regex would work just fine, here's a regex which more literally describes what you're after: match a dot, only when followed by either whitespace or the capital E character or the end of the string and replace that dot with "[INS].". It makes uses of a lookahead assertion to catch only the dots that you want.
$string = preg_replace("#\.(?=\s|E|$)#", "[INS].", $string);
If you are unfamiliar with the syntax or concept of lookahead assertions (in this case, to match dots followed by specific characters or points in the string) then a helpful introduction can be found in Lookahead and Lookbehind Zero-Width Assertions
A more basic expression with which you might be more familiar would be #\.(\s|E|$)#
with the associated replacement string [INS]$0