[RESOLVIDO] Usar expressão regular no SC7

(alubale) #1

Pessoal, alguém sabe como usar expressões regulares no SC7? Quando coloco a expressao regular ele substitui a string da expressão regular por variaveis globais ou campos.

Ex:
$string = preg_replace("/[ÓÒÔÕÖ]/", “O”, $string); // Esse me ferra por causa do “[”

if( !(preg_match(’/^[a-fA-F0-9]{12}$/’,$string)){ // Esse me ferra por causa do “{12}”

Ja tentei jogar em método, biblioteca, mas nao adianta pois o SC sempre reescreve meu código.
Desesperado pois tenho muitos casos, esses são apenas alguns como exemplo. Sempre uso muito expressão regular pra validar campos.

(BobyTow) #2

Estou com esse mesmo problema a algum tempo … :frowning:

(Thyago Brasil) #3

Bom dia. Já tentou utilizar barra invertida “” antes dos caracteres “[” e “]”?

(alubale) #4

Já havia testado, porem testei novamente. No primeiro caso parou de criar a váriavel global, porem ferra com a validação da expressão, pois com o escape do colchete, o mesmo entra como caracter literal e nao como a sua função.

(Haroldo) #5

tenta:

$string = preg_replace("/[".“ÓÒÔÕÖ]/”, “O”, $string);

o mesmo vale para o outro código.

(alubale) #6

Haroldo, parabens pela solução proposta, foi muito experto nisso e realmente funcionou pra todas strings. Muito bom

(system) #7

Foi verificado a funcionalidade descrita, a utilização de colchetes gera a interpretação do scriptcase ( pois para o scriptcase tudo envolto de colchetes deveria ser uma variável global ).
Porém ao utilizar o código abaixo:

$string = ‘ÓÒÔÕÖ’;
$string = preg_replace("/[".“ÓÒÔÕÖ]/”, “O”, $string);
echo "Com protecao -> ".$string;

Não ocorreu erro.

Porém, foi informado ao departamento de bugs para que seja verificado a funcionalidade ao utilizar esta função e seja corrigido a interpretação do código utilizado.
Para a utilização de { }, a proteção já foi realizada, utilizando aspas simples.

Obs.: Esta correção está presente na versão 8 do Scriptcase. Assim como a correção da utilização de [ ] , estará presente na versão 8 do Scriptcase.
Aconselho utilizar a medida alternativa de proteção informada acima, nas versões abaixo do Scriptcase 8.