Pergunta

<?php     
$value='A';
    if(preg_match("/|/",$value)){
        echo 'This is no good!';
    }
    else{
        echo 'Works';
    }
?>

Se você executar o código acima, poderá ver que o preg_match() não está funcionando enquanto eu não tenho | ou pipeline na variável.

Por que Preg_match não está funcionando para caracteres ou caracteres de tubulação?

Foi útil?

Solução

O caractere de tubo vertical (|) tem um significado especial quando usado dentro de uma expressão regular. É usado para especificar alternativas em uma expressão regular. Você precisa escapar corretamente se quiser combinar com o literal | personagem:

if(preg_match("/\|/",$value)){
    # code ...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top