<?php

$re = '#"(?:[^"](?:\\.[^"]+)?)+"(*SKIP)(*FAIL)|:#'; 
$str = "DTEND;TZID=\"Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London\":20150601T073000";
//$str = "DTEND;TZID=\"Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London\";20150601T07300001T073000"; 
$arr = preg_split($re, $str);
if (count($arr)>1){
  print_r($arr);
}
else {
 $re2 = '#"(?:[^"](?:\\.[^"]+)?)+"(*SKIP)(*FAIL)|;#';
 $arr2 = preg_split($re2, $str);
 if (count($arr2)>1){
  print_r($arr2);
 }
 else {
  echo "No matches";
 }
}


