Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
bom galera.... eh o seguinte... eu to fazer uma classe para ler um arquivo .ini
e a expressão regular tem q aceitar barra e contrabarra, pq pode ter valores como diretórios e URLs...
e a expressão, quando vou validar alguma coisa q tenha alguma das duas barras... da erro... não encontra...
segue a função que faz isso:
private function ExtractLines()
{
$iniFileString = file($this->iniFile);
$lineIndex = 1;
foreach($iniFileString as $line)
{
$lineAjust = str_replace(array("\n","\t"), "", $line);
preg_match("/[a-zA-Z0-9-_\. ]+=/", $lineAjust, $key);
if(empty($key[0]))
{
throw new IniReaderException("Erro ao extrair a linha <b>".$lineIndex."</b> do arquivo <b>".$this->iniFile."</b>, a linha não contém uma chave válida");
}
$newKey = str_replace("=", "", $key[0]);
preg_match("/=[a-zA-Z0-9-_\.:\/\\ ]+;/", $lineAjust, $value);
if(empty($value[0]))
{
throw new IniReaderException("Erro ao extrair a linha <b>".$lineIndex."</b> do arquivo <b>".$this->iniFile."</b>, com a Key <b>".$newKey."</b>, a linha não contém um valor válido");
}
$newValue = str_replace(array("=",";"), "", $value[0]);
$this->keysAndValues[$newKey] = $newValue;
$lineIndex++;
}
}SYSNAME=TESTEDESTRING;
SYSVERSION=1.0;
SYSTREE=C:\;
alguém sabe pq q tah dando esse problema? =/
eu sempre testo as expressões nesse site: http://tools.lymas.com.br/regexp_br.php
e está dando que está correto... =/
Carregando comentários...