$re = '/<ID>(?\'num_externe\'.*)<\x2FID>.*<SiteName>(?\'ins_libl\'.*)<\x2FSiteName>.*<ServiceName>(?\'tsy_lib\'.*)<\x2FServiceName>.*<Requester>(?\'apt_nom\'.*)<\x2FRequester>.*<Phone>(?\'apt_telephone\'.*)<\x2FPhone>.*<Office>(?\'apt_localisation\'.*)<\x2FOffice>.*<Commentaires>(?\'commentaire_externe\'.*)<\x2FCommentaires>/m';
$str = '<ID>442617729</ID>BLABLABLA<SiteName>Pc skynote</SiteName>BLABLABLA<ServiceName>EngieDirect</ServiceName>BLABLABLA<Requester>Cyril CAGNET</Requester>BLABLABLA<Phone>0674491081</Phone>BLABLABLA<Office>Mon Bureau</Office>BLABLABLA<Commentaires>Ca marche pas !!!</Commentaires>';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php