Try something like :
$pattern = '#(<record[^>]+><title>([^<]+)</title><content><!\[CDATA\[<html><head><title>)\{title\}#';
$result = preg_replace($pattern, '$1$2', $input)
But yuck - consider using XML libraries instead.
Original note (before edit): this regex was originally in Java flavor - I (potame) haven't ran it in PHP.