$regExpWrapper =
"#<h3>(?:.*?)<a(?:.*?)\"/film(?:.*?)>(.*?)</a>(?:.*?)".
"film-item-seanses-list(?:.*?)<div>(?:\s+)(.*?)\s+</div>".
"(?:.*?)<div>(?:\s+)([0-9\:]+)\s+</div>".
"(?:.*?)<div>(?:\s+)([0-9\:]+)\s+</div>".
"#si";
preg_match_all($regExpWrapper, $testStr, $matches, PREG_SET_ORDER);
print_r($matches);
а у вас, как я понял, регулярка ищет задом наперед, в итоге она предлагает заменить лидирующий символ
Суть моей идеи: замена последнего пробела