$re = '/id="\d*".*<location id="2703">/';
$str = '<item id="42200027" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2704"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200028" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200029" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200030" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200031" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2705"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200032" xmlns="urn:microsof^Ct-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200033" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200034" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200035" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200036" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200037" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations></item><item id="42200038" xmlns="urn:microsoft-dynamics-nav/xmlports/WebStoreExportRemains"><locations><location id="2703"><rest_qty>0.00</rest_qty><expected_qty>0.00</expected_qty><expected_date/></location></locations>';
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