Das Problem hast du ja bei den anderen Ersetzungen auch, nur würdest du dort vmtl. niemals ein CR/LF einfügen.
Versuchs mal mit dem m-Modifier.
/[script](.*?)[/script]/m
Ist bestimmt noch nicht die idealste Lösung, aber so gut bin ich auf dem Gebiet auch nicht bewandert. Aber ein kleiner Schubbs in die entsprechende Richtung ist es auf jeden Fall.

