Перевод регулярного выражения Кента Фредрика на PHP:
preg_match_all('#<span[^>]*(?:/>|>(?:s| )*</span>)#im', $html, $result);
Это будет соответствовать:
- автозаполнение
- охватывает многострочные линии и в любом случае
- охватывает атрибуты
- пролет с нерушимыми пространствами
Может быть, вы должны включать в себя пролеты только <br />
в том числе ...
Как обычно, когда дело доходит до настройки regexp, некоторые инструменты удобны:
http://regex.larsolavtorvik.com/