Te sugiero estudiar RegExp ya que se trata de un lenguaje completamente a parte de PHP, obviamente la expresión (.*) es tan escueta que parece broma que quieras capturar duendes y unicornios así no más.
Ojalá fuera tan simple, pero no lo es.
Una forma genérica sería así:
Si observas, al menos le estoy indicando algo de contexto y no un "anda, lee mi mente y devuelve aquel <iframe> que no tengo intención de especificar por ningún lado".
¿Entiendes la diferencia?
Tu problema nada tiene que ver con código PHP, como te he dicho, RegExp es un lenguaje totalmente diferente.
Las expresiones regulares no puede adivinar tus intenciones, eres tu el que debe indicarle con la mayor precisión posible lo que estás buscando.
PDTA: si tienes dudas concretas de RegExp no dudes en consultar el sub-foro adecuado.