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

Gerar um array a partir de do conteído de um arquivo de texto


Sonyer

Pergunta

Olá pessoal,

Eu tenho um arquivo de texto com algumas variáveis, que serão usadas como chaves para cada string de idioma que eu usarei em meu sistema. Sei que seria bem mais fácil usar um array e um arquivo php, mas acho que desta forma, no futuro, para os futuros utilizadores, será mais fácil.

Tenho num arquivo de texto:

USERNAME: "Nome de usuário"
PASSWORD: "Senha"
Já no arquivo que interpreta tenho isto:
function lang_fetcharray($lang)
    {
        global $phpExt, $root_dir;
        $file = $root_dir . LANGUAGE_DIR . $lang . LANGUAGE_FILE_EXT;
        
        if(file_exists($file))
        {
            $file_contents = file_get_contents($file);
            $compiled_language_array = preg_split('/\n/', $file_contents);
            
            
            
            return $compiled_language_array;
        }
    }

Até aí tudo bem, o código está funcionando bem e criando um array com cada um dos valores, mas está no formato PASSWORD: "Senha", o que gostaria de fazer agora é criar um novo array, a partir deste, que seja no formato "PASSWORD" => "Senha", entendem? Será que alguém poderia me ajudar a criar uma expressão que separe o que está em "" do que está antes do :?

Até mais e obrigado de antemão!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Salve,

Fiz bem rápido... me desculpe se houver algum erro.

<?php
function lang_fetcharray($lang)
{
    global $phpExt, $root_dir;
    $file = $root_dir . LANGUAGE_DIR . $lang . LANGUAGE_FILE_EXT;
    $data = array();
    if(file_exists($file))
    {
        $data = file($file);
        // $file_contents = file_get_contents($file);
        // $compiled_language_array = preg_split('/\n/', $file_contents);
        // return $compiled_language_array;
    }
    return $data;
}

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela velocidade, porém a função não dividiu as linhas do $data em um novo array como queria, ele continua fazendo a mesma coisa que antes, retornando:

Array ( [0] => USERNAME: "Nome de usuário" [1] => PASSWORD: "Senha" )
Com este código eu queria que ele retornasse:
Array ( [USERNAME] => Nome de usuário [PASSWORD] => Senha )

Será que conseguiu me entender?

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

  • 0

Pessoal, agora me surgiu outra dúvida... Eu gostaria de, por exemplo, substituir: Olá, %1, %2 e %3, por um valor predefinido em uma variável do tipo:

$replacement_variables = array(
    'WELCOME' => array('teste', 'teste2', 'parser')
);
Poderiam dizer qual a melhor forma de fazer a substituição, sendo que ele entenda que deverá pegar o número que vem depois do % como chave do array para substituição? Eu tentei da seguinte forma, mas como imaginava, não tive sucesso:
private function _parse_language_variables($lang_key) {
        global $replacement_variables;
        return preg_replace('/%(.)]/', $replacement_variables[$lang_key]['/\$1/'], $this->current_language_keys[$lang_key]);
    }

Será que poderiam me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0

Eu consegui desenvolver uma forma de fazer funcionar, mas existe um pequeno problema... Vejam:

return preg_replace('/%([0-9])/', '${1}', $this->current_language_keys[$lang_key]);
Assim funciona, mas quando tento:
return preg_replace('/%([0-9])/', $replacement_variables[$lang_key]['${1}'], $this->current_language_keys[$lang_key]);

Isso não funciona! Alguém poderia me dizer como resolver este pequeno problema?

Até mais.

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...