$re = '/.*-> addField\((\'\S*\').*?, \[\'type\' => new (\S*?)Type.*/';
$str = '-> addField(\'id\' , [\'type\' => new IntType , \'description\' => __(\'id\')])
-> addField(\'type_mandaat\' , [\'type\' => new StringType , \'description\' => __(\'type mandaat\')])
-> addField(\'bedrag\' , [\'type\' => new BedragType , \'description\' => __(\'bedrag\')])
-> addField(\'datum_expertise_plaatsgevonden\' , [\'type\' => new DateType , \'description\' => __(\'datum van expertise\')])
-> addField(\'datum_ontvangst_rapport\' , [\'type\' => new DateType , \'description\' => __(\'datum van ontvangst rapport\')])
-> addField(\'omschrijving\' , [\'type\' => new StringType , \'description\' => __(\'omschrijving\')])
-> addField(\'wrakwaarde\' , [\'type\' => new BedragType , \'description\' => __(\'wrakwaarde\')])
-> addField(\'forfait\' , [\'type\' => new BooleanType , \'description\' => __(\'forfait\')])
-> addField(\'total_loss\' , [\'type\' => new BooleanType , \'description\' => __(\'total loss\')])
-> addField(\'kosten_expertise\' , [\'type\' => new FloatType , \'description\' => __(\'kosten expertise\')])
-> addField(\'experts\' , [\'type\' => new ListType(new ExpertInput), \'description\' => __(\'experts\')]);';
$subst = "\1 => ['type' => '\2'],";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
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