Está usando o explode como?
Olá!
A linha que vem exportada do sistema interno tem espaços na segunte formatação:
*** na postagem o sistema do forum ta cortando os espaços, mas tem 4 espaços antes do 001 e mais 7 espaços entre o 001.001 e o ALVENARIA - CIMENTO, por isso a contagem do substr. Vou exemplificar os espaços na linha utilizando o *
****001.001*******ALVENARIA - CIMENTOS
Então eu consegui resolver provisoriamente com substr da seguinte forma:
aqui vai a leitura depois de aberto o file txt onde cada linha fica armazenada na variavel $arq
for ($a = 0; $a < count($arq); $a++) {
// aqui ele retira o grupo: 001
$grupos = substr("$arq[$a]",0,7);
// aqui ele retira o subrgupo: 001
$subgrupo = substr("$arq[$a]",8,3);
// aqui ele verifica o tamanho da linha e diminui os 17 primeiros caracteres para ter o restante que é o nome do grupo e subgrupo: ALVENARIA - CIMENTOS
$caracteres_linha = strlen($arq[$a]);
$resto_nomes = $caracteres_linha - 17;
//aqui ele separa o nome do grupo do nome do subgrupo
$nome_grupos = substr("$arq[$a]",17,$resto_nomes);
$nomes = explode(" - ", $nome_grupos);
}
A principio deu certo, Vou gravar pra ver se rola gravar se não existe e atualizar se existe o grupo ou subgrupo com mesmo ID já gravado.
Obrigado pela atenção vou testar e posto o resultado.