Это частично в ответ на Оуэнса (потому что я не могу поместить код в комментарий очень хорошо) . Это регулярное выражение может не работать для тега объекта, в основном потому, что открывающий тег <object>
содержит атрибуты. Попробуйте вместо этого:
/(<object[^>]*>)(.*?)(<\/object>)/si
Он нечувствителен к регистру и разбит на три группы для удобства. Это не на 100% идеально, но должно помочь.