Так себе идея обрабатывать теги регулярками, но...
Пощупать вашу проблему я не могу ввиду страшной аллергии к ПХП.
Могу предложить ряд оптимизацией обобщенного характера.
- Проанализировать регулярки, найти зависимости и "скомпилировать" их в одну регулярку или небольшую группу из нескольких. Обрабатывать регулярки можно эвентуально. То есть дополнительно анализировать матчи программно и в зависимости от контекста подставлять соответствующую замену. Ещё можно пир компиляции регулярок в одну поименовать группы уникально так, чтобы по имени проматченной группы можно было найти нужную замену в словаре замен.
- Если замены более-менее однотипные, например одни теги заменяются на другие, то можно вообще построить общую универсальную простую регулярку на тег, а программно смотреть по словарю чему соответствует матч и делать нужную замену.
Эти оптимизации позволят сделать замены за число проходов, которое не кратно числу регулярок, которых много. В идеале за один проход.
Вообще, система, построенная на высокочастотной обработке большого текста сотней регулярок явно спроектирована как-то неправильно. Как выше сказали, наверняка эту проблему надо было решать в другом месте.