GET, POST 및 COOKIE 입력의 PHP 변수 이름에 도트 문자 유지
PHP에서 변수 이름에 도트 문자(.) GET, POST 또는 COOKIE 요청을 통해 전달된 내용은 자동으로 밑줄(_)로 대체됩니다. 이는 특정 시나리오에서 문제가 될 수 있습니다.
PHP 동작 설명
PHP 문서에 따르면 점은 PHP 변수 이름에서 유효한 문자가 아닙니다. PHP는 구문 오류를 방지하기 위해 이를 밑줄로 변환합니다. 다음 문자도 밑줄로 변환됩니다.
자동 비활성화 교체
안타깝게도 이 자동 교체 동작을 비활성화하는 PHP 구성 옵션이 내장되어 있지 않습니다. 그러나 스크립트에서 밑줄을 수동으로 다시 점으로 변환할 수 있습니다.
해결책: 사후 처리 교체
방법 1: str_replace 사용
다음 코드는 str_replace를 사용하여 모든 밑줄을 점으로 바꿉니다. 함수:
<?php $var_with_underscores = $_SERVER['REQUEST_URI']; $var_with_dots = str_replace('_', '.', $var_with_underscores);
방법 2: preg_replace 사용
정규 표현식을 사용하여 교체를 수행할 수도 있습니다.
<?php $var_with_underscores = $_SERVER['REQUEST_URI']; $var_with_dots = preg_replace('/_/', '.', $var_with_underscores);
위 내용은 사용자 입력에서 PHP 변수 이름의 점 문자를 어떻게 보존할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!