Anhand der Warnmeldung könntest Du vielleicht Schlüsse ziehen, die dich der Lösung näher bringen. Zumindest könntest Du uns die Warnmeldung mitteilen.
Habt ja recht:
Warning: preg_match(): No ending matching delimiter '>' found in ...
Mit ~~~php
$suchmuster = "(<?xml-stylesheet.+?>)";
echo preg_match($suchmuster, $test, $match);
print_r($match);