Проблема, которую я вижу, состоит в том, что начало вашего регулярного выражения и окончание находятся в разных строках.Измените ваше правило на:
$styles='';
//extract conditional css
preg_match_all('/<!--(.*)-->/is', $myhtml, $matches);
$styles.=implode(" ",$matches);
preg_replace('/<!--(.*)-->/is', "", $myhtml);
, поскольку модификатор s подразумевает, что точка (.) Захватывает не только «что-нибудь, но не конец строки», но и «концы строки».