$re = '/^(TITLE-.+?-[0-9]{2}-[0-9]{2})[^\s,] (.*(?:\r?\n(?![A-Z]).*)*)(?:\r?\n(?!Opening).*)*\r?\nOpening date (\d+ .*)(?:\r?\n(?!Deadline).*)*\r?\nDeadline (\d+ .*)(?:\r?\n(?!Indicative budget:).*)*\r?\nIndicative budget: .*?(EUR \d+(?:\.\d+)? \w+)/m';
$str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam id diam posuere, eleifend diam at, condimentum justo. Pellentesque mollis a diam id consequat.
TITLE-SDFSD-DFDS-SFDS-01-01: This is the title 1 that
is split into two lines with a blank line in the middle
Conditions Pellentesque blandit scelerisque pellentesque. Sed nec quam purus. Quisque nec tellus sed neque accumsan lacinia sit amet sit amet tellus. Etiam venenatis nibh vel pellentesque elementum. Nullam eget tortor quam. Morbi sed leo et arcu aliquet luctus.
Opening date 15 Apr 2021
Deadline 26 Aug 2021
Indicative budget: The total indicative budget for the topic is EUR 20.00 million.
TITLE-SDFSD-DFDS-SFDS-01-02; This is the title2 in one single line
Conditions Cras egestas consectetur sapien at dignissim. Maecenas commodo purus nibh, a tempus augue vestibulum feugiat. Vestibulum dolor neque, sagittis ut tortor et, lobortis faucibus quam.
Opening date 15 March 2021
Deadline 17 Aug 2021
Indicative budget: The total indicative budget for the topic is EUR 15.00 million.
TITLE-SDFSD-DFDS-SFDS-01-03: This is the title3 that is too long and takes two lines
Conditions Cras egestas consectetur sapien at dignissim. Maecenas commodo purus nibh, a tempus augue vestibulum feugiat. Vestibulum dolor neque, sagittis ut tortor et, lobortis faucibus quam.
Opening date 15 May 2021
Deadline 26 Sep 2021
Indicative budget: The total indicative budget for the topic is EUR 5.00 million.';
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