fork(1) download
  1.  
  2.  
  3. <?php
  4. // Variável das palavras chaves
  5. $encontraTitulo = "TÍTULO";
  6. $encontraCapitulo = "CAPÍTULO";
  7. $encontraArtigo = "Art.";
  8. $concatenaHierarquia = "";
  9. // Variável dos valores para concatenar
  10. $valorTitulo = "";
  11. $valorCapitulo = "";
  12. $valorArtigo = "";
  13. // Lê conteúdo do txt
  14. $documento = 'TÍTULO 1
  15. Dos Princípios Fundamentais
  16.  
  17. Art. 1º A República Federtico.
  18.  
  19. Parágrafo único. Todo o poder emana do povo, que o exerce por meio de representantes eleitos ou diretamente, nos termos desta Constituição.
  20.  
  21. Art. 2º São Poderes da União, independentes e harmônicos entre si, o Legislativo, o Executivo e o Judiciário.
  22.  
  23. Art. 3º Constituem objetivos fundaação e reduzir as desigualdades sociais e regionais;
  24.  
  25. IV - promover o bem de todos, sem preconceitos de origem, raça, sexo, cor, idade e quaisquer outras formas de discriminação.
  26.  
  27. 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.
  28.  
  29. TÍTULO 2
  30. Dos Direitos e Garantias Fundamentais
  31. CAPÍTULO 1
  32. DOS DIREITOS E DEVERES INDIVIDUAIS E COLETIVOS
  33.  
  34. 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)
  35.  
  36. CAPÍTULO 2
  37. DOS DIREITOS SOCIAIS
  38.  
  39. Art. 6º São direitocitucional nº 64, de 2010)
  40.  
  41. Art. 7º São direitos dos trabalhadores urbanos
  42.  
  43. 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.
  44.  
  45. CAPÍTULO 3
  46. DA NACIONALIDADE
  47.  
  48. Art. 12. São brasilei
  49.  
  50. CAPÍTULO 4
  51. DOS DIREITOS POLÍTICOS
  52.  
  53. Art. 14. A soberania popular será e.
  54.  
  55. 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)
  56.  
  57. CAPÍTULO 5
  58. DOS PARTIDOS POLÍTICOS
  59.  
  60. Art. 17. É livre a
  61.  
  62. TÍTULO 3
  63. Da Organização do Estado
  64. CAPÍTULO 1
  65. DA ORGANIZAÇÃO POLÍTICO-ADMINISTRATIVA
  66.  
  67. Art. 18. A organização polít
  68.  
  69. CAPÍTULO 2
  70. DA UNIÃO
  71.  
  72. 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.
  73.  
  74. CAPÍTULO 3
  75. DOS ESTADOS FEDERADOS
  76.  
  77. Art. 25. Os Estados organizam-se e regem-se pelas Constituições e leis que adotarem, observados os princípios desta Constituição.
  78.  
  79. § 1º - São reservadasei
  80.  
  81. 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.
  82.  
  83. 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.';
  84. // Função para limpar linhas em branco
  85. $documento = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $documento);
  86. // Converte em linhas
  87. $linhas = explode("\n", $documento);
  88. foreach($linhas as $novalinha) {
  89. // Variável dos valores para concatenar
  90. $numbers = '';
  91. $letters = '';
  92. $concatena = $valorTitulo . $valorCapitulo . $valorArtigo;
  93. // Envolve cada linha em um parágrafo
  94. $novalinhas = "<li><p>" . $novalinha . "</p></li>";
  95. // Verifica se tem o texto Linha na linha
  96. $procuraTitulo = strpos($novalinhas, $encontraTitulo);
  97. $procuraCapitulo = strpos($novalinhas, $encontraCapitulo);
  98. $procuraArtigo = strpos($novalinhas, $encontraArtigo);
  99. // Verifica se tem o texto Linha na linha
  100. if ($procuraTitulo === false) {
  101. if ($procuraCapitulo === false) {
  102. if ($procuraArtigo === false) {
  103. // Se não encontrar nada
  104. echo $novalinhas;
  105. // Se não encontrar artigo
  106. }
  107. else {
  108. // Captura o número do artigo na linha para atribuir na ID
  109. $artigo = explode(" ", $novalinhas);
  110. // Define as variações para serem excluídas e remove variações
  111. $caracteres = array(
  112. "º",
  113. "."
  114. );
  115. $artigos = str_replace($caracteres, "", $artigo[1]);
  116. // Atribui à valorArtigo a string "_artigo + nº"
  117. $valorArtigo = '_artigo' . $artigos;
  118. // Atribui à valorArtigo a value
  119. $value = $valorArtigo;
  120. // Separa a palavra do número
  121. for ($i = 0; $i < strlen($value); $i++) {
  122. if (is_numeric($value[$i])) $numbers.= $value[$i];
  123. else $letters.= $value[$i];
  124. }
  125. // Verifica se é a palavra artigo
  126. if ($letters == "artigo") {
  127. // Mantém o valorArtigo
  128. $valorArtigo = $valorArtigo;
  129. // Mantém o valorArtigo
  130. }
  131. else {
  132. // Verifica está definido
  133. if (isset($valorArtigo)) {
  134. // Mantém o valorArtigo
  135. $valorArtigo = $valorArtigo;
  136. }
  137. else {
  138. // Limpa o valorArtigo
  139. $valorArtigo = "";
  140. }
  141. }
  142. // Monta a ul com o id concatenado
  143. echo "</ul>";
  144. echo '<ul id="' . $concatena . '" class="artigo">';
  145. echo $novalinhas;
  146. }
  147. // Se foi capturado a palavra subseção
  148. }
  149. else {
  150. $contatenaCapitulo = 1;
  151. // Captura o número romano da Subseção para atribuir na ID
  152. $cap = explode(" ", $novalinhas);
  153. $caracteres = array(
  154. "CAPÍTULO"
  155. );
  156. $caps = $cap[1];
  157. $valorCapitulo = '_capitulo' . $caps;
  158. $value = $valorCapitulo;
  159. for ($i = 0; $i < strlen($value); $i++) {
  160. if (is_numeric($value[$i])) $numbers.= $value[$i];
  161. else $letters.= $value[$i];
  162. }
  163. if ($letters == "capitulo") {
  164. $valorArtigo = "";
  165. }
  166. else {
  167. if (isset($valorCapitulo)) {
  168. $valorCapitulo = $valorCapitulo;
  169. }
  170. else {
  171. $valorCapitulo = "";
  172. }
  173. }
  174. echo "</ul>";
  175. echo '<ul id="' . $concatena . '" class="capitulo">';
  176. echo $novalinhas;
  177. }
  178. }
  179. else {
  180. $contatenaTitulo = 1;
  181. $tit = explode(" ", $novalinhas);
  182. $caracteres = array(
  183. "TÍTULO"
  184. );
  185. $tits = $tit[1];
  186. $valorTitulo = '_titulo' . $tits;
  187. $value = $valorTitulo;
  188. for ($i = 0; $i < strlen($value); $i++) {
  189. if (is_numeric($value[$i])) $numbers.= $value[$i];
  190. else $letters.= $value[$i];
  191. }
  192. if ($letters == "titulo") {
  193. $valorCapitulo = "";
  194. $valorArtigo = "";
  195. }
  196. else {
  197. if (isset($valorTitulo)) {
  198. $valorTitulo = $valorTitulo;
  199. }
  200. else {
  201. $valorTitulo = "";
  202. }
  203. }
  204. echo "</ul>";
  205. echo '<ul id="' . $valorTitulo . '" class="titulo">';
  206. echo $novalinhas;
  207. }
  208. }
  209. ?>
  210.  
  211.  
Success #stdin #stdout 0.02s 24448KB
stdin
Standard input is empty
stdout
	

    </ul><ul id="_titulo1</p></li>" class="titulo"><li><p>TÍTULO 1</p></li><li><p>         Dos Princípios Fundamentais</p></li></ul><ul id="_titulo1</p></li>" class="artigo"><li><p>         Art. 1º A República Federtico.</p></li><li><p>         Parágrafo único. Todo o poder emana do povo, que o exerce por meio de representantes eleitos ou diretamente, nos termos desta Constituição.</p></li></ul><ul id="_titulo1</p></li>_artigo" class="artigo"><li><p>         Art. 2º São Poderes da União, independentes e harmônicos entre si, o Legislativo, o Executivo e o Judiciário.</p></li></ul><ul id="_titulo1</p></li>_artigo" class="artigo"><li><p>         Art. 3º Constituem objetivos fundaação e reduzir as desigualdades sociais e regionais;</p></li><li><p>         IV - promover o bem de todos, sem preconceitos de origem, raça, sexo, cor, idade e quaisquer outras formas de discriminação.</p></li></ul><ul id="_titulo1</p></li>_artigo" class="artigo"><li><p>         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.</p></li></ul><ul id="_titulo" class="titulo"><li><p>         TÍTULO 2</p></li><li><p>         Dos Direitos e Garantias Fundamentais</p></li></ul><ul id="_titulo_artigo" class="capitulo"><li><p>         CAPÍTULO 1</p></li><li><p>         DOS DIREITOS E DEVERES INDIVIDUAIS E COLETIVOS</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         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)</p></li></ul><ul id="_titulo_capitulo_artigo" class="capitulo"><li><p>         CAPÍTULO 2</p></li><li><p>         DOS DIREITOS SOCIAIS</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         Art. 6º São direitocitucional nº 64, de 2010)</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         Art. 7º São direitos dos trabalhadores urbanos</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         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.</p></li></ul><ul id="_titulo_capitulo_artigo" class="capitulo"><li><p>         CAPÍTULO 3</p></li><li><p>         DA NACIONALIDADE</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         Art. 12. São brasilei</p></li></ul><ul id="_titulo_capitulo_artigo" class="capitulo"><li><p>         CAPÍTULO 4</p></li><li><p>         DOS DIREITOS POLÍTICOS</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         Art. 14. A soberania popular será e.</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         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)</p></li></ul><ul id="_titulo_capitulo_artigo" class="capitulo"><li><p>         CAPÍTULO 5</p></li><li><p>         DOS PARTIDOS POLÍTICOS</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         Art. 17. É livre a</p></li></ul><ul id="_titulo" class="titulo"><li><p>         TÍTULO 3</p></li><li><p>         Da Organização do Estado</p></li></ul><ul id="_titulo_capitulo_artigo" class="capitulo"><li><p>         CAPÍTULO 1</p></li><li><p>         DA ORGANIZAÇÃO POLÍTICO-ADMINISTRATIVA</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         Art. 18. A organização polít</p></li></ul><ul id="_titulo_capitulo_artigo" class="capitulo"><li><p>         CAPÍTULO 2</p></li><li><p>         DA UNIÃO</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         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.</p></li></ul><ul id="_titulo_capitulo_artigo" class="capitulo"><li><p>         CAPÍTULO 3</p></li><li><p>         DOS ESTADOS FEDERADOS</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         Art. 25. Os Estados organizam-se e regem-se pelas Constituições e leis que adotarem, observados os princípios desta Constituição.</p></li><li><p>         § 1º - São reservadasei</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         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.</p></li></ul><ul id="_titulo_capitulo_artigo" class="artigo"><li><p>         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.</p></li>