$page = <<<EOD
<div class="showtimes"> <a href="#">10:00am</a> <span class="ghost">|</span>
<a href="#">10:30am</a> <span class="ghost">|</span> <a href="#">11:00am</a> </div>
$result = $matches;
$result .= preg_replace('#<a\s[^>]*>(.*?)</a>#is', '$1', $matches);
$result .= $matches;
$regexp = '#(<div\s[^>]*class=[\'"]showtimes[\'"][^>]*>)(.*?)(</div>)#is';
$page = preg_replace_callback($regexp, 'foo', $page);
However, that solution depends on the HTML being properly formatted, and nasty things can happen if it is not, such as when I copied and pasted your HTML that was missing the closing quotes in a couple of the href attributes.
A more robust solution would be to use the DOM functions to find each div of class "showtimes" and then within them finding each each <a> element, going through contortions to get the text value of each <a>, removing the <a> element and inserting the text, but I'm way too lazy to do that for you right now.