Domanda

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

Se esegui il codice sopra, puoi vedere che il preg_match() non funziona mentre non l'ho fatto | o pipeline nella variabile.

Perché preg_match non funziona per carattere singolo o pipeline?

È stato utile?

Soluzione

Il carattere del tubo verticale (|) ha un significato speciale se usato all'interno di un'espressione regolare. È usato per specificare alternative in un'espressione regolare. Devi sfuggirlo correttamente se vuoi abbinare il letterale | carattere:

if(preg_match("/\|/",$value)){
    # code ...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top