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

Replace


Prototype

Pergunta

Estou com uma dúvida bem capciosa:

Tenho um arquivo html com o seguinte código:

<html>

<head>

<title><!--inicio_titulo-->Titulo<!--fim_titulo--></title>

</head>

<body>

<ul>

<!--inicio_lista-->

<li><!--inicio_item-->Item<!--fim_item--></li>

<!--fim_lista-->

</ul>

</body>

</html>

Aí, por php, gostaria de pegar os valores dentro dos comentários. Tipo:

"Titulo", tag <li> e o valor dentro da <li>, no caso "Item".

Ideia

pegar_conteudo(tag_de_inicio, tag_final)

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

4 respostass a esta questão

Posts Recomendados

  • 0

Para fazer isso você deve usar expressão regular, exemplo:

<?php
$valor = file_get_contents('arquivo.html');//Lendo o conteúdo do arquivo...
preg_match("#<title>(.*?)<\/title>#s", $valor, $encontrado);
print_r($encontrado);

preg_match("#<li>(.*?)<\/li>#s", $valor, $encontrado);
print_r($encontrado);
?>

Também poderia usar explode, mas ai o profissionalismo vai lá pra baixo...

Link para o comentário
Compartilhar em outros sites

  • 0

hum vlw, srá muito útil.

Montei um classe para gerenciar pequenas coisas no html e gostaria de algumas críticas, até mesmo pra saber se existe algo mais elaborado do que isso que eu possa me basear.

class HtmlManager{
    
    public $source;
    public $content;

    function __construct($file){
        $this->source = file_get_contents($file);
        }
    function getContents($comment){
        preg_match("#<!--inicio_$comment-->(.*?)<!--fim_$comment-->#s", $this->source, $this->content);
        }
    function generateLoop($parent,$child,$multiple){
        $this->getContents($child);
        $item = $this->content[0];
        $this->getContents($parent);
        for($i=0;$i<$multiple;$i++){
            $content .= str_replace($item,"Menu_".$i,$this->content[1]);
            }
        $this->replaceContents($parent,$content);
        }
    function replaceContents($comment,$new){
        $this->getContents($comment);
        $this->source = str_replace($this->content[0],$new,$this->source);
        }
    function __destruct(){
        print($this->source);
        }
    
    }

$valor= new HtmlManager('arquivo.html');
$valor->replaceContents("titulo","Geracao de HTML");
$valor->generateLoop("lista","item", 5);

obrigado pela ajuda

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...