Нет необходимости в регулярных выражениях с preg_split()
, достаточно простого безрегулярного выражения explode()
, поскольку они разделяются точкой с запятой.
foreach (explode(';', $gallery) as $url) {
echo '<img src="' . htmlspecialchars($url, ENT_QUOTES) . '" alt="" />';
}