	

    <?php
    // Variável das palavras chaves
    $encontraTitulo = "TÍTULO";
    $encontraCapitulo = "CAPÍTULO";
    $encontraArtigo = "Art.";
    $concatenaHierarquia = "";
    // Variável dos valores para concatenar
    $valorTitulo = "";
    $valorCapitulo = "";
    $valorArtigo = "";
    // Lê conteúdo do txt
    $documento = 'TÍTULO 1
         Dos Princípios Fundamentais
     
         Art. 1º A República Federtico.
     
         Parágrafo único. Todo o poder emana do povo, que o exerce por meio de representantes eleitos ou diretamente, nos termos desta Constituição.
     
         Art. 2º São Poderes da União, independentes e harmônicos entre si, o Legislativo, o Executivo e o Judiciário.
     
         Art. 3º Constituem objetivos fundaação e reduzir as desigualdades sociais e regionais;
     
         IV - promover o bem de todos, sem preconceitos de origem, raça, sexo, cor, idade e quaisquer outras formas de discriminação.
     
         Art. 4º A República Federativao Brasil buscará a integração econômica, política, social e cultural dos povos da América Latina, visando à formação de uma comunidade latino-americana de nações.
     
         TÍTULO 2
         Dos Direitos e Garantias Fundamentais
         CAPÍTULO 1
         DOS DIREITOS E DEVERES INDIVIDUAIS E COLETIVOS
     
         Art. 5º Todos são iguais perante a lei,al Internacional a cuja criação tenha manifestado adesão. (Incluído pela Emenda Constitucional nº 45, de 2004)
     
         CAPÍTULO 2
         DOS DIREITOS SOCIAIS
     
         Art. 6º São direitocitucional nº 64, de 2010)
     
         Art. 7º São direitos dos trabalhadores urbanos
     
         Art. 11. Nas empresas de mais de duzentos empregados, é assegurada a eleição de um representante destes com a finalidade exclusiva de promover-lhes o entendimento direto com os empregadores.
     
         CAPÍTULO 3
         DA NACIONALIDADE
     
         Art. 12. São brasilei
     
         CAPÍTULO 4
         DOS DIREITOS POLÍTICOS
     
         Art. 14. A soberania popular será e.
     
         Art. 16. A lei que alterar o processo eleitoral entrará em vigor na data de sua publicação, não se aplicando à eleição que ocorra até um ano da data de sua vigência. (Redação dada pela Emenda Constitucional nº 4, de 1993)
     
         CAPÍTULO 5
         DOS PARTIDOS POLÍTICOS
     
         Art. 17. É livre a
     
         TÍTULO 3
         Da Organização do Estado
         CAPÍTULO 1
         DA ORGANIZAÇÃO POLÍTICO-ADMINISTRATIVA
     
         Art. 18. A organização polít
     
         CAPÍTULO 2
         DA UNIÃO
     
         Art. 20. São bens da Una de lei federal sobre normas gerais suspende a eficácia da lei estadual, no que lhe for contrário.
     
         CAPÍTULO 3
         DOS ESTADOS FEDERADOS
     
         Art. 25. Os Estados organizam-se e regem-se pelas Constituições e leis que adotarem, observados os princípios desta Constituição.
     
         § 1º - São reservadasei
     
         Art. 66. A Casa na qual tenhanado a promulgará, e, se este não o fizer em igual prazo, caberá ao Vice-Presidente do Senado fazê-lo.
     
         Art. 67. A matéria constante de projeto de lei rejeitado somente poderá constituir objeto de novo projeto, na mesma sessão legislativa, mediante proposta da maioria absoluta dos membros de qualquer das Casas do Congresso Nacional.';
    // Função para limpar linhas em branco
    $documento = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $documento);
    // Converte em linhas
    $linhas = explode("\n", $documento);
    foreach($linhas as $novalinha) {
            // Variável dos valores para concatenar
            $numbers = '';
            $letters = '';
            $concatena = $valorTitulo . $valorCapitulo . $valorArtigo;
            // Envolve cada linha em um parágrafo
            $novalinhas = "<li><p>" . $novalinha . "</p></li>";
            // Verifica se tem o texto Linha na linha
            $procuraTitulo = strpos($novalinhas, $encontraTitulo);
            $procuraCapitulo = strpos($novalinhas, $encontraCapitulo);
            $procuraArtigo = strpos($novalinhas, $encontraArtigo);
            // Verifica se tem o texto Linha na linha
            if ($procuraTitulo === false) {
                    if ($procuraCapitulo === false) {
                            if ($procuraArtigo === false) {
                                    // Se não encontrar nada
                                    echo $novalinhas;
                                    // Se não encontrar artigo
                            }
                            else {
                                    // Captura o número do artigo na linha para atribuir na ID
                                    $artigo = explode(" ", $novalinhas);
                                    // Define as variações para serem excluídas e remove variações
                                    $caracteres = array(
                                            "º",
                                            "."
                                    );
                                    $artigos = str_replace($caracteres, "", $artigo[1]);
                                    // Atribui à valorArtigo a string "_artigo + nº"
                                    $valorArtigo = '_artigo' . $artigos;
                                    // Atribui à valorArtigo a value
                                    $value = $valorArtigo;
                                    // Separa a palavra do número
                                    for ($i = 0; $i < strlen($value); $i++) {
                                            if (is_numeric($value[$i])) $numbers.= $value[$i];
                                            else $letters.= $value[$i];
                                    }
                                    // Verifica se é a palavra artigo
                                    if ($letters == "artigo") {
                                            // Mantém o valorArtigo
                                            $valorArtigo = $valorArtigo;
                                            // Mantém o valorArtigo
                                    }
                                    else {
                                            // Verifica está definido
                                            if (isset($valorArtigo)) {
                                                    // Mantém o valorArtigo
                                                    $valorArtigo = $valorArtigo;
                                            }
                                            else {
                                                    // Limpa o valorArtigo
                                                    $valorArtigo = "";
                                            }
                                    }
                                    // Monta a ul com o id concatenado
                                    echo "</ul>";
                                    echo '<ul id="' . $concatena . '" class="artigo">';
                                    echo $novalinhas;
                            }
                            // Se foi capturado a palavra subseção
                    }
                    else {
                            $contatenaCapitulo = 1;
                            // Captura o número romano da Subseção para atribuir na ID
                            $cap = explode(" ", $novalinhas);
                            $caracteres = array(
                                    "CAPÍTULO"
                            );
                            $caps = $cap[1];
                            $valorCapitulo = '_capitulo' . $caps;
                            $value = $valorCapitulo;
                            for ($i = 0; $i < strlen($value); $i++) {
                                    if (is_numeric($value[$i])) $numbers.= $value[$i];
                                    else $letters.= $value[$i];
                            }
                            if ($letters == "capitulo") {
                                    $valorArtigo = "";
                            }
                            else {
                                    if (isset($valorCapitulo)) {
                                            $valorCapitulo = $valorCapitulo;
                                    }
                                    else {
                                            $valorCapitulo = "";
                                    }
                            }
                            echo "</ul>";
                            echo '<ul id="' . $concatena . '" class="capitulo">';
                            echo $novalinhas;
                    }
            }
            else {
                    $contatenaTitulo = 1;
                    $tit = explode(" ", $novalinhas);
                    $caracteres = array(
                            "TÍTULO"
                    );
                    $tits = $tit[1];
                    $valorTitulo = '_titulo' . $tits;
                    $value = $valorTitulo;
                    for ($i = 0; $i < strlen($value); $i++) {
                            if (is_numeric($value[$i])) $numbers.= $value[$i];
                            else $letters.= $value[$i];
                    }
                    if ($letters == "titulo") {
                            $valorCapitulo = "";
                            $valorArtigo = "";
                    }
                    else {
                            if (isset($valorTitulo)) {
                                    $valorTitulo = $valorTitulo;
                            }
                            else {
                                    $valorTitulo = "";
                            }
                    }
                    echo "</ul>";
                    echo '<ul id="' . $valorTitulo . '" class="titulo">';
                    echo $novalinhas;
            }
    }
    ?>

