8 use Drupal\Core\Render\Element;
13 define(
'XBBCODE_RE_QUOTE',
'"|\'|&(quot|#039);|');
18 define(
'XBBCODE_RE_ATTR',
'(?:\s+(?<key>\w+)=(?<aq>' .
XBBCODE_RE_QUOTE .
')(?<value>[^"]*?)\g{aq}(?=\s|\]|$))');
23 define(
'XBBCODE_RE_TAG',
'/\[(?<closing>\/)?(?<name>\w+)(?:=(?<bq>' .
XBBCODE_RE_QUOTE .
')(?<option>.*?)\g{bq}(?=\s|\])|(?<attrs>' .
XBBCODE_RE_ATTR .
'+))?\]/i');
30 'xbbcode_plugin_selection' => [
31 'render element' =>
'fieldset',
32 'function' =>
'theme_xbbcode_plugin_selection',
34 'xbbcode_tag_list' => [],
42 $fieldset = $variables[
'fieldset'];
43 $table = &$fieldset[
'tags'];
44 $extra = &$fieldset[
'extra'][
'tags'];
46 $table[
'#attributes'][
'id'] =
'xbbcode-plugins';
48 foreach (array_keys($table[
'#options']) as $tag) {
49 $table[
'#options'][$tag][
'name'][
'data'] = drupal_render($extra[$tag]);
51 ksort($table[
'#options']);
53 $html = drupal_render($table);
54 foreach (Element::children($fieldset) as $element) {
55 $html .= drupal_render($fieldset[$element]);
theme_xbbcode_plugin_selection($variables)