I have the following code:
<?php
function obterID($string) {
$res = preg_match('~id="([\w]+)"~i', $string, $IDs);
if ($res){
return $IDs[1];
} else {
return "";
}
}
// Lê conteúdo do txt
$documento = '<ul id="titulo1" class="titulo">
<li>
<p>TÍTULO I</p>
</li>
</ul>
<ul id="artigo1" class="artigo">
<li>
<p>Art. 1º...</p>
</li>
</ul>
<ul id="artigo2" class="artigo">
<li>
<p>Art. 2º ....</p>
</li>
</ul>
<ul id="artigo3" class="artigo">
<li>
<p>Art. 3º ....:</p>
</li>
</ul>
<ul id="artigo4" class="artigo">
<li>
<p>Art. 4º ....:</p>
</li>
</ul>
<ul id="titulo2" class="titulo">
<li>
<p>TÍTULO II</p>
</li>
</ul>
<ul id="capitulo1" class="capitulo">
<li>
<p>CAPÍTULO I</p>
</li>
</ul>
<ul id="artigo5" class="artigo">
<li>
<p>Art. 5º ....:</p>
</li>
</ul>
<ul id="capitulo2" class="capitulo">
<li>
<p>CAPÍTULO II</p>
</li>
</ul>
<ul id="artigo6" class="artigo">
<li>
<p>Art. 6º ...</p>
</li>
</ul>
<ul id="artigo7" class="artigo">
<li>
<p>Art. 7º ...</p>
</li>
</ul>
<ul id="artigo8" class="artigo">
<li>
<p>Art. 8º....:</p>
</li>
</ul>
<ul id="artigo9" class="artigo">
<li>
<p>Art. 9º É as.</p>
</li>
</ul>
<ul id="artigo10" class="artigo">
<li>
<p>Art. 10. ....</p>
</li>
</ul>
<ul id="artigo11" class="artigo">
<li>
<p>Art. 11. ....</p>
</li>
</ul>
<ul id="capitulo3" class="capitulo">
<li>
<p>CAPÍTULO III</p>
</li>
</ul>
<ul id="artigo12" class="artigo">
<li>
<p>Art. 12. São brasileiros:</p>
</li>
</ul>';
$linhas = explode("<ul", $documento);
$novalinhas = "";
$concatenaTitulo = "";
foreach ($linhas as $novalinha){
$novoTituloSlug = ObterID($novalinha);
if (empty($novoTituloSlug))
continue;
$concatenaTitulo .= $novoTituloSlug;
}
echo $concatenaTitulo;
?>
DEMO
I would like to concatenate by hierarchy, as in a breadcrumb (but, I do not know how to make a breadcrumb ).
This is the result I would like in every foreach
:
titulo1
titulo1artigo1
titulo1artigo2
titulo1artigo3
titulo2
titulo2capitulo1
titulo2capitulo1artigo5
titulo2capitulo2
titulo2capitulo7artigo6
But it only concatenates, without replacing:
titulo1
titulo1artigo1
titulo1artigo1artigo2
titulo1artigo1artigo2artigo3
And it goes to:
titulo1artigo1artigo2artigo3artigo4titulo2capitulo1artigo5capitulo2artigo6artigo7artigo8artigo9artigo10artigo11capitulo3artigo12