문제

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

위 코드를 실행하면 preg_match() 내가 가지고 있지 않은 동안 작동하지 않습니다 | 또는 변수의 파이프 라인.

preg_match가 단일 문자 또는 파이프 라인 문자에 대해 작동하지 않는 이유는 무엇입니까?

도움이 되었습니까?

해결책

수직 파이프 문자 (|)는 정규 표현식 내에서 사용될 때 특별한 의미를 갖습니다. 정규 표현식으로 대안을 지정하는 데 사용됩니다. 문자 그대로 일치하려면 올바르게 탈출해야합니다. | 캐릭터:

if(preg_match("/\|/",$value)){
    # code ...
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top