$re = '/fbq\(\'track\'(?!.*?PageView)[^)]*\);/m';
$str = 'fbq(\'track\', \'PageView\');
fbq(\'track\', \'PageView\');
fbq(\'track\', \'Purchase\');
fbq(\'track\', \'Purchase\',
// begin parameter object data
{
value: 115.00,
currency: \'USD\',
contents: [
{
id: \'301\',
quantity: 1
},
content_type: \'product\'
}
// end parameter object data
);
fbq(\'track\', \'PageView\',
// begin parameter object data
{
value: 115.00,
currency: \'USD\',
content_type: \'product\'
}
// end parameter object data
);';
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