Warning: preg_match(): No ending matching delimiter '>' found in ...
http://de.php.net/manual/de/function.preg-match.php
Schau Dir mal die Beispiele innerhalb der Parameter-Liste an. Die Delimiter sind dort die beiden "/" am Anfang und am Ende.
$suchmuster = "(\<\?xml\-stylesheet.+\?\>)";
Was willst Du denn suchen?
<?xml-stylesheet, gefolgt von etwas möglichst kutzem was kein Zeilenumbruch ist, gefolgt von ?>
Was muß man maskieren?
http://de.wikipedia.org/wiki/Regulärer_Ausdruck#Regul.C3.A4re_Ausdr.C3.BCcke_in_der_Praxis