Cuales son las coincidencias que quieres capturar los var o el texto o ambos.
Tanto caracter me confunde
Código PHP:
<?php
$str1 = '<p>texto texto texto texto</p>
<!-- IF var --><p>Texto condicionado</p><!-- END IF -->
<p>texto texto texto texto</p>';
$pattern = '/<!-- IF (.*?) -->(.*?)<!-- END IF -->/';
preg_match_all($pattern, $str1, $matches, PREG_SET_ORDER);
echo htmlentities($str1);
echo '<br />';
echo htmlentities($pattern);
echo '<pre>';
print_r($matches);
echo '</pre>';
?>