Pregunta

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

Si ejecuta el código anterior, puede ver que el preg_match() no funciona mientras no tengo | o tubería en la variable.

¿Por qué preg_match no funciona para carácter único o carácter de tubería?

¿Fue útil?

Solución

El carácter de la tubería vertical (|) tiene un significado especial cuando se usa dentro de una expresión regular. Se utiliza para especificar alternativas en una expresión regular. Necesitas escapar correctamente si quieres igualar el literal | personaje:

if(preg_match("/\|/",$value)){
    # code ...
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top