Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Identificar tags não fechadas


vini_loock

Pergunta

Salve pessoas,

Estou precisando de alguma coisa que identifique tags não fechadas.

A situação é a seguinte:

Tenho um formulário para adicionar artigos;

Nesse formulário há um campo "conteudo"(um textarea tiny mce);

Este campo, poderá receber o famoso "leia mais", que nada mais é que um comentário html no campo conteúdo;

No banco de dados, existem 2 campos para salvar o conteudo: introtext e fulltext;

Na hora de salvar, dou um explode no comentário (<!--readmore-->);

e salvo as partes em seus devidos lugares;

O problema é que se por exemplo o comentário estiver dentro de uma tag p, quando eu mostrar no site apenas o introtext, terá um p sem fechamento.

Este é o problema, estou sem nenhuma ideia por enquanto, se alguém tiver sugestões...

Vlw, Vinicius

Edit..

Só afim de exemplificar:

Supomos que o conteudo que o usuário digitou no campo corresponda a isto:

<p>primeira parte do texto</p>
<p><!--readmore--></p>
<p>segunda parte do texto</p>
No banco, será salvo assim: introtext
<p>primeira parte do texto</p>
<p>
fulltext
</p>
<p>segunda parte do texto</p>

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

E ae Vini, Bom dia :)

Cara, acho que isso vai te ajudar ^^ Se tiver alguma dúvida, posta aqui.

<?php
     //Você possui isso
     $conteudo = "<p>primeira parte do texto</p>"
               ."<p><!--readmore--></p>"
               ."<p>segunda parte do texto</p>";
     
     //Quando vai salvar no banco, faz isso
     $conteudo = explode("<!--readmore-->",$conteudo);
     $introtext = $conteudo[0];
     $fulltext = $conteudo[1];
   
     //Correto ? Agora, você pode criar uma condição para verificar se existe uma tag p não fechada.
     if(preg_match("/\<[pP]\>$/",$introtext)){
         $introtext = substr($introtext,0,-3);
     }
     if(preg_match("/^\<\/[pP]\>/",$fulltext)){
         $fulltext = substr($fulltext,4);
     }
     
     echo $introtext." e ".$fulltext;
     ?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...