> 백엔드 개발 > PHP 문제 > php7 문자열 이스케이프

php7 문자열 이스케이프

WBOY
풀어 주다: 2023-05-24 16:44:38
원래의
710명이 탐색했습니다.

PHP 프로그래밍에서 문자열은 일반적인 데이터 유형 중 하나입니다. 코드가 정상적으로 실행되고 잠재적인 보안 위험을 방지하기 위해 문자열을 이스케이프해야 하는 경우가 많습니다. PHP 버전이 지속적으로 업데이트됨에 따라 문자열 이스케이프도 일부 변경되었습니다. 이 기사에서는 PHP7의 문자열 이스케이프 작업을 소개합니다.

1. 이스케이프 문자

PHP에서 이스케이프 문자는 따옴표, 백슬래시, 개행 등과 같은 일부 특수 문자를 나타내는 데 사용됩니다. 일반적인 이스케이프 문자는 다음과 같습니다.

  • ': 작은따옴표를 나타냅니다.
  • ": 큰따옴표를 나타냅니다.
  • : 백슬래시를 나타냅니다.
  • : 개행 문자를 나타냅니다.
  • : 캐리지 리턴 문자를 나타냅니다.
  • : 탭 문자를 나타냅니다.
  • : 세로 탭 문자를 나타냅니다.

문자열에 이스케이프 문자를 사용하는 구문은 다음과 같습니다.

$string = 'This is a 'string'';
$string = "This is a "string"";
$string = "This is a string with a \ backslash";
$string = "This is a string
with a newline";
$string = "This is a stringwith a carriage return";
$string = "This is a string    with a tab";
$string = "This is a stringwith a vertical tab";
로그인 후 복사

작은따옴표 문자열을 사용할 때는 큰따옴표가 아닌 작은따옴표 이스케이프 문자만 사용할 수 있습니다. 예:

$string = 'This is a "string"'; // 错误
$string = 'This is a 'string''; // 正确
로그인 후 복사

큰따옴표 문자열은 큰따옴표 이스케이프 문자나 작은따옴표 이스케이프 문자를 사용할 수 있습니다.

PHP7 이전에는 예기치 않은 문자열 이스케이프 문제를 방지하려면 문자열을 이중 이스케이프해야 합니다. 즉,

$str = '
'; // 双重转义后的字符串
로그인 후 복사

그러나 PHP7에서는 문자열 이스케이프가 일부 변경되어 이 이중 이스케이프 방법이 더 이상 필요하지 않습니다.

2. 최신 이스케이프 구문

PHP7에서는 최신 이스케이프 구문을 사용하여 처리할 수 있습니다. 문자열 이스케이프 최신 이스케이프 구문을 사용하면 이스케이프 문자를 수동으로 이중으로 처리할 필요가 없으며 코드가 더 명확해지고 간결해집니다. 양식에는 큰따옴표가 있는 문자열과 heredoc/nowdoc 문자열이 포함됩니다.

큰따옴표로 묶인 문자열에 대한 최신 이스케이프 구문
  1. 큰따옴표로 묶인 문자열에서는 중괄호를 사용하여 변수 이름을 묶어 문자열에 변수를 포함할 수 있습니다. 변수 삽입에 중괄호 {}를 사용하므로 다음이 필요합니다. 변수 이름 앞에 이스케이프 문자 $를 사용합니다. 새로운 이스케이프 구문을 사용하지 않으면 코드를 수동으로 이중 이스케이프해야 합니다.
$name = 'John';
$string = "Hello, {$name}!";
echo $string; // 输出:'Hello, John!'
로그인 후 복사

heredoc. nowdoc 문자열은 PHP5.3에서 도입되었습니다. 이 두 문자열의 특징은 이스케이프 없이 문자열에 여러 줄의 텍스트를 포함할 수 있다는 것입니다. 식별자:

$name = 'John';
$string = "Hello, {$name}!";
$string = "Hello, ".$name."!";
echo $string; // 输出:'Hello, John!'
로그인 후 복사

nowdoc 문자열은 작은따옴표로 시작하고 동일한 작은따옴표로 끝납니다:

$str = <<<EOD
This is
a
multi-line
string.
EOD;
로그인 후 복사

PHP7에서는 최신 이스케이프 구문을 사용하여 heredoc/nowdoc 문자열의 이스케이프 문자를 처리할 수 있습니다.
    $str = <<<'EOD'
    This is
    a
    multi-line
    string.
    EOD;
    로그인 후 복사
    $str = <<<EOD
    This is
    a "multi-line" string.
    EOD;
    echo $str; // 输出:'This is
    a "multi-line" string.'
    로그인 후 복사
  1. 현대 구문에서는 문자열에 이스케이프 문자를 포함해야 하는 경우 이중 이스케이프가 필요하지 않습니다.
  2. 3. 요약

    PHP7에서는 문자열 이스케이프 작업에 몇 가지 변경 사항이 있습니다. 더 명확하고 간결한 코드를 작성하고 수동 이중 이스케이프를 피하는 데 도움이 됩니다. PHP 개발자라면 코드의 가독성과 유지 관리성을 향상시키기 위해 최신 이스케이프 구문을 사용하는 것이 좋습니다.

    위 내용은 php7 문자열 이스케이프의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿