$re = '/updi\(event,\'(20\d\d)-(\d\d)-(\d\d) (\d\d:\d\d) .* \(([^)]+)\)<br>Distances: ([^\/]+).*<br><b>Wind:<\/b> (\d+)° (.*) kt \(<b>TWA (\d*)°<\/b>\)<br><b>Heading:<\/b> (\d*)°<b>Sail:<\/b> (.*)<br><b>Boat Speed:<\/b> (.*) kts/';
$str = 'updi(event,\'2017-07-24 11:20 CEST (T+ 0:10)<br>Distances: 3.5nm/2751.0nm<br><b>Wind:</b> 197° 14.7 kt (<b>TWA 120°</b>)<br><b>Heading:</b> 77°<b>Sail:</b> Spi<br><b>Boat Speed:</b> 20.81 kts\',\'220px\')';
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