Вставка картинки в редактор из буфер обмена (Битрикс)

Лично мне понадобился данный механизм в компоненте форума битрикса.

Т.е. когда пользователь вставляет в редактор картинку из буфера обмена (ctrl+c, ctrl+v) на форуме она выглядит приблизительно следующим образом:

[img]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUwAAAIDCAYAAABviC....тут много-много символов[/img]

Чтобы решить эту проблему добавим обработчик события (например в файл init.php) следующего содержания:

AddEventHandler("main", "TextParserAfter", "TextParserAfterHandler");

function TextParserAfterHandler(&$text, $oParser)
{
   $text = preg_replace("/\[img\](data:image.*?)\[\/img\]/i".BX_UTF_PCRE_MODIFIER, '', $text);
}

В итоге вывод немного модифицируется, и вместо bb-кода у нас выводится тег img


Возврат к списку