Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Maykel-ctba

[Resolvido] Correção em expressão regular

Recommended Posts

Olá galera,

 

tenho um sistema desenvolvido por um cara orientado a objeto, e ele fez uma classe para facilitar as conexões com bancos de dados e tudo mais... porém estou tendo um pequeno empecilho...

 

							if (preg_match("(or |OR |Or |oR )", $array[0]))
						{								

							$where .= " ".addslashes($array[0]);
						}
						else
						{
							$where .= " AND ".trim(addslashes($array[0]));
						}

 

Isso é para detectar quando a condição tem OR, porém, quando tenho um campo com "OR" no nome (exemplo: imovel_elevadOR), ele está caindo no IF, e não deveria... como posso re-escrever a expressão regular acima para solucionar meu problema?

 

Se eu fizer "if (preg_match("(^or |^OR |^Or |^oR )", $array[0]))", estaria correta a lógica? Pq as strings sempre iniciam com OR...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá João! Obrigado pela resposta...

 

deste jeito, ele não cairia no mesmo empecilho que tive na opção acima? Se detectar OR (não importa o jeito que escrever, ou a posição deste), será true?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Queria compreender o que esta expressão está indicando... /\bor\b/i

 

O \b antes e depois do "or" indica que ali deve ter um espaço. O modificador "i" no final indica que deve ser case insensitive, ou seja, não diferenciar maiúsculas e minúsculas. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.