Feche as tags HTML abertas em uma sequência
Situação é uma sequência que resulta em algo como isto:
<p>This is some text and here is a <strong>bold text then the post stop here....</p>
Como a função retorna um teaser (resumo) do texto, ela pára após determinadas palavras. Onde, neste caso, a etiqueta forte não está fechada. Mas toda a cadeia está envolvida em um parágrafo.
É possível converter o resultado / saída acima para o seguinte:
<p>This is some text and here is a <strong>bold text then the post stop here....</strong></p>
Eu não sei por onde começar. O problema é que .. Encontrei uma função na Web que faz regex, mas coloca a tag de fechamento após a string. Portanto, ela não será validada porque desejo todas as tags de abrir / fechar nas tags de parágrafo. A função que encontrei faz isso que também está errado:
<p>This is some text and here is a <strong>bold text, then the post stop here....</p></strong>
Quero saber que a tag pode ser forte, itálico, qualquer coisa. É por isso que não consigo anexar a função e fechá-la manualmente na função. Algum padrão que pode fazer isso por mim?