PHP: Como faço para remover tags aninhadas e realocá-las de maneira não aninhad
Preciso remover todas as ocorrências de uma tag de estilo bb de uma string. As tags podem ser aninhadas e é aqui que estou falhando. Também preciso realocar cada tag e conteúdo para o final da string e substituir a tag por um elemento HTML. Eu tentei jogar com regex e preg_replace_callback, mas até agora não obtive sucesso. Também tentei modificar o seguinte e também não tive sorte:Removendo bbcode aninhado (aspas) em PHP eComo posso remover um elemento html e seu conteúdo usando RegEx Acho que não posso usar um analisador de HTMLcomo iss porque o HTML está mal formado (filhos em elementos que não podem ter filhos
Aqui está a aparência da string:
This is some
[tag] attribute=1 attribute2=1
[tag] attribute=1 attribute2=1 [/tag]
[tag] attribute=1 attribute2=1 [/tag]
[/tag]
text.
O resultado deve ficar assim:
This is some text.
<br attribute=1 attribute2=1>
<br attribute=1 attribute2=1>
<br attribute=1 attribute2=1>
Qualquer ajuda seria apreciada