Frage

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

Wenn Sie den oben genannten Code ausführen, können Sie das sehen, das die preg_match() funktioniert nicht, während ich nicht habe | oder Pipeline in der Variablen.

Warum arbeitet Preg_match nicht für ein einzelnes Zeichen oder ein Pipeline -Zeichen?

War es hilfreich?

Lösung

Der vertikale Rohrcharakter (|) hat eine besondere Bedeutung, wenn sie in einem regulären Ausdruck verwendet wird. Es wird verwendet, um Alternativen in einem regulären Ausdruck anzugeben. Sie müssen ihm richtig entkommen, wenn Sie dem wörtlichen Anschluss anpassen möchten | Charakter:

if(preg_match("/\|/",$value)){
    # code ...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top