Я уже несколько раз сталкивался с этой проблемой, когда пытался выполнить очистку html с помощью php и функций preg*.
Большую часть времени мне приходится захватывать такие структуры:
<!-- comment -->
<tag1>lorem ipsum</tag>
<p>just more text with several html tags in it, sometimes CDATA encapsulated…</p>
<!-- /comment -->
В частности, я хочу что-то вроде этого:
/<tag1>(.*?)<\/tag1>\n\n<p>(.*?)<\/p>/mi
но \n\n не похоже, что это сработает.
Есть ли общий выключатель линии?