Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro

Alpha Servers
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 a 10 de 14
  1. #1



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão Expressão regular

    Olá imperyanos.

    Preciso de uma expressão regular que separe string por espaços em branco EXCETO o texto que estiver entre aspas.

    Exemplo: A imperyus é "um fórum bem top" não é mesmo?

    A saída deveria ser assim:

    Array([0] => A, [1] => imperyus, [2] => é, [3] => "um fórum bem top", [4] =>não, [5] => é, [6] => mesmo?)

    Algumas expressões regulares que encontrei em minhas pesquisas:

    Identifica espaço em branco e tabulação: /[\s]+/
    Identifica texto entre aspas: /\"([^\"]*)\"/

    Alguém pode me dar um help nisso? *-*
    Última edição por Renato; 24-01-2015 às 09:33 PM.
    Código PHP:
    <?php
        
    if(Weather::getState() == 'Rainy weather') {
            
    $this->removingLittleHorseFromRain();
        }

  2. #2

    Avatar de Jackspwn
    Data de Ingresso
    Jan 2015
    Localização
    Localhost
    Posts
    9
    Agradecido
    15
    Agradeceu
    8
    Peso da Avaliação
    0

    Padrão

    Olá renato.
    Acho que isto seria um "delimiter split", estou correto? se sim, posso lhe ajuda sim! ;-) !

  3. #3



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    Exatamente. Consegui chegar nisso:

    $attr = preg_split('/[\s]+(?=("([^\"]*)\"))/', $line);

    Infelizmente ainda está longe do que eu preciso kkkk

    Em pesquisas eu encontrei isso aqui:

    Código PHP:
    $lines preg_replace('/\s+(?=((\\[\\"]|[^\\"])*"(\\[\\"]|[^\\"])*")*(\\[\\"]|[^\\"])*$)/'''$lines); 
    Mas essa expressão regular ai buga o browser.
    Última edição por Renato; 24-01-2015 às 09:16 PM.
    Código PHP:
    <?php
        
    if(Weather::getState() == 'Rainy weather') {
            
    $this->removingLittleHorseFromRain();
        }

  4. #4

    Avatar de Jackspwn
    Data de Ingresso
    Jan 2015
    Localização
    Localhost
    Posts
    9
    Agradecido
    15
    Agradeceu
    8
    Peso da Avaliação
    0

    Padrão

    Isto é bem simples em outras linguagens, á maneira mais fácil de "quebrar" uma string no PHP seria utilizando á função explode(); já tentou utiliza-lá ?

  5. #5



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    O explode não serve, porque ele não prevê "exceções". Eu preciso quebrar o texto SEM MEXER no que há entre aspas. Sacou a treta? O leitor de item eu fiz sem problemas, mas eu quero tornar o mesmo código "usável" pra ler os demais arquivos da pasta data.

    E quero deixar claro que EU SEI MANIPULAR STRING. O que eu não sei é a porra da expressão regular ¬¬
    Código PHP:
    <?php
        
    if(Weather::getState() == 'Rainy weather') {
            
    $this->removingLittleHorseFromRain();
        }

  6. #6

    Avatar de Jackspwn
    Data de Ingresso
    Jan 2015
    Localização
    Localhost
    Posts
    9
    Agradecido
    15
    Agradeceu
    8
    Peso da Avaliação
    0

    Padrão

    Não consegui edito á minha resposta, enfim tente da seguinte forma:

    <?php
    $str = "A imperyus é "um fórum bem top" não é mesmo?";
    print_r (explode(" ",$str));
    ?>

    ------

    Você pode encontrar mais informações sobre ó assunto em: [Somente usuários registrados podem vem os links. ]

    Abraços.

  7. #7



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    @O que você sugeriu gera esse retorno:

    Código PHP:
    Array ( [0] => [1] => imperyus [2] => é [3] => "um [4] => fórum [5] => bem [6] => top" [7] => não [8] => é [9] => mesmo? ) 
    Eu preciso que retorne assim:

    Código PHP:
    Array([0] => A, [1] => imperyus, [2] => é, [3] => "um fórum bem top", [4] =>não, [5] => é, [6] => mesmo?) 
    Entendeu a diferença?

    É por isso que eu disse que preciso de uma expressão regular pra ser usada com preg_split();
    Última edição por Renato; 24-01-2015 às 09:32 PM.
    Código PHP:
    <?php
        
    if(Weather::getState() == 'Rainy weather') {
            
    $this->removingLittleHorseFromRain();
        }

  8. #8

    Avatar de Jackspwn
    Data de Ingresso
    Jan 2015
    Localização
    Localhost
    Posts
    9
    Agradecido
    15
    Agradeceu
    8
    Peso da Avaliação
    0

    Padrão

    Renato, o problema estava na visualização das mensagens é aprovações , enfim.
    Acho que já sei o que está tentando fazer,
    Analisei o seu código acima é verifiquei "preg_split — Divide a string por uma expressão regular", acho que o que você precisa está aqui.

    [Somente usuários registrados podem vem os links. ]

    Espero que lhe ajude.

  9. #9



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    @Jackspwn, mas faz meia hora que eu to dizendo que eu to usando preg_split()

    O que eu preciso é só da expressão regular pra usar com ele
    Código PHP:
    <?php
        
    if(Weather::getState() == 'Rainy weather') {
            
    $this->removingLittleHorseFromRain();
        }

  10. #10

    Avatar de Jackspwn
    Data de Ingresso
    Jan 2015
    Localização
    Localhost
    Posts
    9
    Agradecido
    15
    Agradeceu
    8
    Peso da Avaliação
    0

    Padrão

    Você está tentando por em uma key do array a string que está entre aspas?

    Tenho um amigo que trabalha com PHP, Irei verificar com ele.
    PS: Nunca me interessei por PHP, rs.
    Última edição por Renato; 25-01-2015 às 12:56 AM.

 

 
Página 1 de 2 12 ÚltimoÚltimo

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Notícia| Castiel não será personagem regular na 7ª temporada de SN
    Por Cøłєridgє no fórum Flood Livre
    Respostas: 2
    Último Post: 28-06-2011, 12:54 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •