Не работают BBcodes в Seditio с PHP 5.3

Web
Столкнулся с проблемой на одном сайте сделанном пару лет назад с использованием CMS Seditio версии 121. Местный админ переставил сервер, версия PHP стала 5.3 и оказалось, что функция eregi_replace необходима для работы BBcodes удалена, вместо нее предлагается использовать preg_replace. Но у новой функции немного другой синтаксис и подмена не работает. В интернете решения сходу не нашел, пришлось переписать функцию. Я переписал не все коды, только те, что используются на сайте. Если кому нужно еще, пишите в комментах.
$bbcodes2 = array(
'#\[colright\](.*)\[/colright\]#i' => '<div class="colright">\\1</div>',
'#\[colleft\](.*)\[/colleft\]#i' => '<div class="colleft">\\1</div>',
'#\[img\](.*)\.(jpg|jpeg|gif|png)\[/img\]#i' => '<img src="\\1.\\2" alt="" />',
'#\[img=(.*)\.(jpg|jpeg|gif|png)\](.*)\.(jpg|jpeg|gif|png)\[/img\]#i' => 
'<a href="\\1.\\2"><img src="\\3.\\4" alt="" /></a>',
'#\[center\](.*)\[/center\]#i' => '<div style="text-align:center;">\\1</div>',
'#\[right\](.*)\[/right\]#i' => '<div style="text-align:right;">\\1</div>',
'#\[left\](.*)\[/left\]#i' => '<div style="text-align:left;">\\1</div>',
'#\[url=(.*)\](.*)\[/url\]#i' => '<a href="\\1">\\2</a>',
'#\[url\](.*)\[/url\]#i' => '<a href="\\1">\\1</a>');

foreach($bbcodes2 as $bbcode => $bbcodehtml)
{ $text = preg_replace($bbcode,$bbcodehtml,$text); }


Скачать измененный файл functions.php полностью.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.