Ответ
Дмитрий 08.01.2011 06:10
Нашёл интересную особенность.
После формы текст попадает в некий преобразователь, и так у нему применяется такой match $s_text[^s_text.match[( ^;|\s)+][gi]{ }]. После этого $s_text уже идёт обрабатываться replace'ом.
Так вот конкретно этот матч (есть и другие) что-то делает с html кодом такое, что не нравится последующему риплейсу.
Замена регэкспа на s_text.match[( ^;|\s)+][gi]{} или s_text.match[( ^;|\s)+][gi]{1111} или вообще отмена его всё исправляет - парсер не падает.
Значит дело в этот небольшом пробельчике, который { }.
Но что с ним - понятия не имею.