Определите элемент, чтобы требовать родительский элемент в BECode PECL

У меня есть следующие правила, определенные для разрешения пользователю создавать таблицы с помощью bbcode:

        'table' => array(
'type' => BBCODE_TYPE_NOARG,
'open_tag' => '<table>',
'close_tag' => '</table>',
'childs' => 'tr',
'tr' => array(
'type' => BBCODE_TYPE_NOARG,
'open_tag' => '<tr>',
'close_tag' => '</tr>',
'childs' => 'th,td',
'parent' => 'table'),
'th' => array(
'type' => BBCODE_TYPE_NOARG,
'open_tag' => '<th>',
'close_tag' => '</th>',
'parent' => 'tr'),
'td' => array(
'type' => BBCODE_TYPE_NOARG,
'open_tag' => '<td>',
'close_tag' => '</td>',
'parent' => 'tr'),

Идея в том, что вы можете определить таблицу, строку таблицы или ячейки таблицы, но:

  • TABLE может иметь только TR как его дети
  • TR может иметь только TABLE как его родитель, и может иметь только TH или же TD как его дети
  • TH или же TD может иметь только TR как его родитель

Эта директива parent / childs задокументирована очень кратко здесь:
http://php.net/manual/en/function.bbcode-create.php

Тем не менее, базовые эксперименты показывают, что директива «родитель», кажется, ничего не делает. То есть с приведенными выше правилами, он с радостью разберет TR элемент на верхнем уровне. Это кажется очень странным дизайнерским решением, так что мне интересно, что я делаю не так? Кроме того, поскольку форум, на котором это реализовано, выложен в виде таблицы, когда кто-то делает это, он довольно эффектно нарушает отображение форума.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …