Is it possible to create valid table code-set?
Yes it's easy to create bb-codes for table [table], [th], [tr], [td] with CodeDefinitionBuilder like this
//table
$builder = new CodeDefinitionBuilder('table', '<table>{param}</table>');
array_push($this->definitions, $builder->build());
//thead
$builder = new CodeDefinitionBuilder('th', '<th>{param}</th>');
array_push($this->definitions, $builder->build());
//tr
$builder = new CodeDefinitionBuilder('tr', '<tr>{param}</tr>');
array_push($this->definitions, $builder->build());
//td
$builder = new CodeDefinitionBuilder('td', '<td>{param}</td>');
array_push($this->definitions, $builder->build());
But how to create definitions to parse [tr] only if it's inside [table][/table], and parse [td] if it's inside [tr][/tr]
Any solutions?
why is this a problem, first place? Do you use those short-codes somewhere else? Can you please provide an example?
This short-codes for users use. Simple table
[table]
[tr]
[td] content [td]
[tr]
[table]
Will be replaced to
<table>
<tr>
<td> content </td>
</tr>
</table>
But this will be invalid HTML, because no <table> around <td> etc...
[td]
[tr]
[table] invalid html [/table]
[/tr]
[/td]
<td>
<tr>
<table> invalid html</table>
</tr>
</td>
My [table] BBCode is not converted, is it an issue ?
@lobodol How can we know? We don't even know, how your actual code looks like.