PHP Regex에서 이스케이프된 따옴표 제외
PHP에서 작은따옴표나 큰따옴표로 묶인 하위 문자열을 추출하려면 이스케이프 시퀀스에 세심한 주의가 필요합니다. 일치하는 문자열 내에서 이스케이프된 따옴표를 무시하려면 고급 정규식을 활용할 수 있습니다.
다음 코드를 고려하세요.
$code = preg_replace_callback('/"(.*?)"/', array(&$this, '_getPHPString'), $code); $code = preg_replace_callback("#'(.*?)'#", array(&$this, '_getPHPString'), $code);
이 정규 표현식은 따옴표 사이의 하위 문자열과 일치하지만 이스케이프된 따옴표를 제외하지 못합니다. . 이 문제를 해결하기 위해 우리는 보다 포괄적인 정규식 패턴을 사용합니다:
권장 정규식:
큰따옴표 하위 문자열:
"[^"\\]*(?:\\.[^"\\]*)*"/s
작은따옴표 하위 문자열:
/'[^'\\]*(?:\\.[^'\\]*)*'/s
이 정규식은 다음을 허용합니다. 이스케이프된 문자를 포함하여 이스케이프되지 않은 모든 문자(예: "n" 및 "t") 및 이스케이프된 이스케이프 시퀀스("").
설명:
이러한 정규 표현식을 통합하면 다음을 정확하게 추출할 수 있습니다. 인용된 문자열 내에 이스케이프 문자를 포함하는 하위 문자열.
위 내용은 이스케이프된 따옴표를 무시하고 PHP에서 따옴표 부분 문자열을 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!