PHP에서 따옴표 내에서 이스케이프된 따옴표를 무시하는 정규식
PHP에서는 이스케이프된 따옴표가 포함된 문자열을 구문 분석하고 조작해야 하는 경우가 많습니다. 작은따옴표와 큰따옴표 내의 문자열을 일치시키는 데 사용되는 기존 정규식은 이스케이프된 따옴표를 무시하지 않을 수 있으며, 이로 인해 예기치 않은 결과가 발생할 수 있습니다.
해결책:
이스케이프된 따옴표를 무시하려면 따옴표 안에는 다음 정규 표현식을 활용할 수 있습니다.
Double 따옴표:
$re_dq = '/"[^"\\]*(?:\\.[^"\\]*)*"/s';
작은 따옴표:
$re_sq = "/'[^'\\]*(?:\\.[^'\\]*)*'/s";
이 정규 표현식은 Jeffrey Friedl이 저서 "정규 표현식 마스터하기"에서 설명한 원칙을 따릅니다. 따옴표를 포함하여 이스케이프 문자 일치를 허용합니다.
작은따옴표와 큰따옴표를 대체하는 데 권장되는 PHP 코드는 다음과 같습니다.
$code = preg_replace_callback( $re_dq, array( &$this, '_getPHPString' ), $code ); $code = preg_replace_callback( $re_sq, array( &$this, '_getPHPString' ), $code );
위 내용은 PHP Regex에서 이스케이프된 따옴표를 무시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!