Проблема может возникать из-за «жадных совпадений», таких как .*
в вашем регулярном выражении - они будут продолжать сопоставляться столько, сколько могут, сглатывая два тега, в которых, как вы думали, совпадал только один. Не уверен, что вы можете исправить это в ereg
, но разве вы не должны использовать более продвинутый preg
много лет назад? С preg
вы можете явно запросить совпадение «ленивый» (он же «не жадный»), используя .*?
, что может решить эту проблему (могут быть и другие - если вы дадите нам примеры проблем, которые вы наблюдаете, Вам будет легче помочь в отладке! -).