Для добавления нового BBCode используйте sceditor.formats.bbcode.set() соответствующую функцию.
Важно:При создании или обновлении BBCode это необходимо сделать до создания экземпляра редактора, например, до вызова метода sceditor.create().
Функция sceditor.formats.bbcode.set() принимает два аргумента, name и bbcode.
должна содержать имя BBCode, например [b], «b». Это значение должно быть написано строчными буквами!
Объект BBCode. Дополнительную информацию см. ниже.
{
styles: {
"stylename": null,
"another-style-name": ["value1", "value2"]
}
tags: {
"tag": null,
"another-tag": {
"attribute1": null,
"attribute2": ["value1", "value2"]
}
}
isSelfClosing: false,
isInline: true,
isHtmlInline: undefined,
allowedChildren: null,
allowsEmpty: false,
excludeClosing: false,
skipLastLineBreak: false,
strictMatch: false,
breakBefore: false,
breakStart: false,
breakEnd: false,
breakAfter: false,
format: 'string|function',
html: 'string|function',
quoteType: sceditor.BBCodeParser.QuoteType.auto
}
Все совпадающие теги будут переданы в format функцию или строку для преобразования в BBCode.
Чтобы сопоставить все вхождения стиля CSS с определенным значением, выполните следующее:
"style-name": ["value1", "value2"]
Любой DOM-узел, имеющий стиль style-name со значением value1 или value2 будет сопоставлен и передан свойству format для преобразования.
Чтобы найти все вхождения стиля независимо от его значения, выполните следующие действия:
"style-name": null
Это nullозначает, что значение свойства CSS не имеет значения, важно лишь то, что узел обладает этим свойством style-name.
styles и tags тегам.
Чтобы выбрать тег с определенными стилями, выберите его с помощью tags свойства, а затем в методе format проверьте, имеет ли узел нужные стили. Если да, обработайте запрос, в противном случае просто верните содержимое.
Например:
format: function(element, content) {
// Only handle tags with the font-weight: bold style
if(element.style.fontWeight !== 'bold') {
return content;
}
return '[b]' + content + '[/b]';
}
Способ сопоставления можно изменить, изменив свойство strictMatch.
Все совпадающие теги будут переданы в format функцию или строку для преобразования в BBCode.
Чтобы найти все вхождения определенного тега, выполните следующее:
"tag-name": null
Любой DOM-узел, являющийся экземпляром, <tag-name> будет передан свойству format для преобразования.
Чтобы найти все вхождения тега, имеющего определенный атрибут, выполните следующее:
"tag-name": {
"attribute-name": null,
"another-attribute-name": null
}
Это будет соответствовать любому тегу, который является экземпляром <tag-name> и имеет атрибут attribute-name или another-attribute-name.
Чтобы сопоставить все вхождения тега с атрибутом, имеющим определенное значение, выполните следующее:
"tag-name": {
"attribute-name": ["value1", "value2"]
}
Это будет соответствовать любому тегу, который является экземпляром <tag-name>и имеет атрибут attribute-name со значением value1 или value2.
Способ сопоставления можно изменить, изменив свойство strictMatch.
Если этот BBCode является самозакрывающимся тегом (не имеет закрывающего тега [hr]).
Если этот BBCode является встроенным или блочным.
Определяет, является ли выходной HTML-код для данного BBCode встроенным или нет. Это значение необходимо задать только в том случае, если оно отличается от isInline значения в BBCode. Если значение не определено, оно игнорируется и isInline используется вместо него.
Если значение равно null/undefined, то будут разрешены все дочерние элементы. Если это массив, то будут разрешены только указанные теги. Чтобы разрешить использование обычного текста, используйте # в качестве имени тега.
Чтобы разрешить только обычный текст: allowedChildren: ['#']
Разрешить использование жирного и курсивного шрифта только для дочерних элементов: allowedChildren: ['b', 'i']
Если этот тег может быть пустым (не иметь дочерних элементов или контента).
Если не добавлять закрывающий тег. В основном для того, чтобы [*] можно было использовать без [/*].
<br /> В блочных тегах во всех браузерах, кроме Internet Explorer, в конце добавляется дополнительный перенос строки . Если этот параметр установлен в значение true, дополнительный перенос строки добавляться не будет.
Следует ли использовать строгий поиск по атрибутам и стилям.
Если значение истинно, это приведет к выполнению операции И, требующей совпадения всех атрибутов тегов и стилей.
Если значение равно false, будет выполнено сопоставление по оператору ИЛИ, и совпадение будет обнаружено, если совпадает хотя бы один из атрибутов или стилей тега.
Если необходимо вставить новую строку перед открывающим тегом.
Если нужно вставить новую строку после начального тега.
Если необходимо вставить новую строку перед закрывающим тегом.
Если необходимо вставить новую строку после закрывающего тега.
Это должна быть либо строка в формате «[b]{0}[/b]», где {0} будет заменена содержимым тегов BBCode.
Или функция, которая принимает два аргумента, element&, content и возвращает отформатированную строку BBCode.
объект DOM HTMLElement, который необходимо преобразовать.
строка, содержащая содержимое BB-кодов. например:
function(element, content) {
if(!element.attr('data-youtube-id'))
return content;
return '[youtube]' + element.attr('data-youtube-id') + '[/youtube]';
}
Это должна быть либо строка в формате «<strong>{0}</strong>», где {0} будет заменено содержимое HTML-тегов.
Или функция, которая принимает 3 аргумента (токен, атрибуты, содержимое) и возвращает HTML-строку.
TokenizeToken
атрибутов. Атрибут по умолчанию будет [tag=default] установлен наdefaultattr
HTML-содержимое этого тега например:
html: function(token, attrs, content) {
if(typeof attrs.defaultattr !== 'undefined')
content = '<cite>' + attrs.defaultattr + '</cite>' + content;
return '<blockquote>' + content + '</blockquote>';
}
По умолчанию используется sceditor.BBCodeParser.QuoteType.auto
Тип цитирования атрибута.
Это должна быть либо функция, либо одно из следующих значений:
Всегда заключать значение атрибута в кавычки
Никогда не заключайте значение атрибута в кавычки.
Заключайте значение атрибута в кавычки только в том случае, если оно содержит пробелы или знак равенства.