Skip to content

Instantly share code, notes, and snippets.

@Dok11
Created March 6, 2025 13:54
Show Gist options
  • Save Dok11/d4ef817503c43fa8b580d0daca4d8f69 to your computer and use it in GitHub Desktop.
Save Dok11/d4ef817503c43fa8b580d0daca4d8f69 to your computer and use it in GitHub Desktop.
Bitrix. Визуальный рекдтор. Отключение авто установки ссылок для всех www-подобных текстов

По умолчанию визуальный редактор все что похоже на ссылку превращает в тег <a href="...">. Иногда это нужно выключить, для этого в конфиге можно поставить autoLink = false.

Проверка в коде Битрикса происходит в методе BXEditorIframeView.prototype.InitAutoLinking файла /bitrix/js/fileman/html_editor/html-views.js.

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

urlRegExp = /(((?:https?|ftp):\/\/|www\.)[^\s'"<]{3,500})/gi

И узнать, что функция не будет работать с текстами в следующих тегах:

ignorableParents = {"CODE" : 1, "PRE" : 1, "A" : 1, "SCRIPT" : 1, "HEAD" : 1, "TITLE" : 1, "STYLE" : 1}
AddEventHandler('fileman', 'OnBeforeHTMLEditorScriptRuns', 'disableAutoLinkHandler');
function disableAutoLinkHandler(): void
{
$js = "BX.addCustomEvent('OnEditorInitedBefore', (editor) => editor.config.autoLink = false);";
Asset::getInstance()->addString("<script>{$js}</script>", true);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment