댓글 검색 목록

[php] PHP 이스케이프 시퀀스 – 간단한 안내서

페이지 정보

작성자 운영자 작성일 20-04-19 20:44 조회 1,054 댓글 0

STRING TROUBLE 


PHP 이스케이프 시퀀스에 대한 튜토리얼에 오신 것을 환영합니다. 

문자열에 슬래시를 넣는 데 문제가 있습니까? 따옴표 나 달러 기호를 추가 할 수 없습니까? 이스케이프 시퀀스는 범인입니다. 

일반 용어에서 이스케이프 시퀀스는 다른 의미를 나타내는 데 사용되는 문자의 "특수 체인"입니다.


  • PHP에서 문자를 이스케이프 하려면 큰 따옴표를 사용하여 문자열을 정의해야 합니다. 작은 따옴표는 그대로 문자를 사용합니다.
  • 이스케이프 문자는 백 슬래시(\)로 시작한 다음 다른 문자 두 개로 시작합니다.
  • 예를 들어, \n은 줄 바꾸기를 나타내고 \ t는 탭을 나타내고 \$는 달러 기호 자체를 나타냅니다.

처음에는 혼란스러울 수 있지만 이스케이프 시퀀스는 실제로 매우 간단합니다.이 가이드의 예제를 자세히 살펴 보도록 하겠습니다. 알아 보려면 계속 읽으십시오!


ⓘ이 튜토리얼을 시작할 때 모든 예제 소스 코드가 포함 된 zip 파일을 포함 시켰으므로 모든 내용을 복사하여 붙여 넣을 필요가 없습니다.


다운로드 


먼저 약속 한대로 소스 코드에 대한 다운로드 링크가 있습니다.


소스 코드 다운로드 


모든 예제 소스 코드를 다운로드하려면 여기를 클릭하십시오. MIT 라이센스에 따라 릴리스 했으므로 코드 위에 빌드하거나 자신의 프로젝트에서 자유롭게 사용할 수 있습니다.


빠른 시작 


  • 폴더에 다운로드하여 압축을 풉니다.
  • 관련된 데이터베이스가 없으므로 포함 된 각 파일을 따라 가십시오.

기본 및 문제 


실제 이스케이프 시퀀스를 시작하기 전에 PHP의 문자열과 그다지 중요하지 않은 모든 문제가 있는 부분을 빠르게 살펴 보겠습니다.


SINGLE DOUBLE QUOTES 


구조에 명백한 선장! PHP에서 작은 따옴표 나 큰 따옴표를 사용하여 문자열을 정의 할 수 있다는 기본 사항부터 시작하겠습니다.


<?php $stringA = "Strings can be defined with double quotes."; $stringB = 'They can also be defined with single quotes.'; ?> 


빠른 요약 – 큰 따옴표는 내부에 변수를 자동으로 연결하는 반면 작은 따옴표는 "있는 그대로"문자를 사용합니다.


<?php // Double quotes - Automatic concatenate $hurdle = "moon"; $stringC = "The quick brown fox jumps over the $hurdle"; // Single quotes - As it is $stringD = 'The quick brown fox jumps over the $hurdle'; ?> 


여태까지는 그런대로 잘됐다? 이것이 문자열의 역학이 PHP에서 작동하는 방식이며, 다음에 Oopsie Woopsie로 갑니다.


PAIN WITH QUOTES 


첫 번째 고통은 문자열에 아포스트로피 또는 따옴표를 추가하려고 할 때 발생합니다.


<?php // Adding an apostrophe to single quote string will break it // $string = 'John's doge is cute'; // No big deal, just use double quotes $string = "John's doge is cute"; // Quotations will also break it // $string = "John says "Hello World"."; // No big deal, just use single quotes $string = 'John says "Hello World".'; ?> 

그렇습니다. 일부 코드 닌자는 이미 이 문제에 직면 해 있고 작은 따옴표나 큰 따옴표를 사용하도록 간단히 전환하여 문제를 해결했을 수도 있습니다.


트리플 문제 


그러나 문제만 해결하기 쉽다면. 이제 단일 문자열에서 아포스트로피와 따옴표를 모두 사용하고 추가 변수를 추가해 보겠습니다.


<?php $hurdle = "moon"; // This does not work // $string = "John's quick brown Doge says "moonmoon" and jumps over the $hurdle"; // This does not work either // $string = 'John's quick brown Doge says "moonmoon" and jumps over the $hurdle'; ?> 

아야. 이제 이 문제를 어떻게 해결해야 합니까? 똑똑한 천재들 중 일부는 이미 이 아이디어를 생각해 냈습니다.


<?php $genius = "John's quick brown Doge says " . '"' . "moonmoon" . '"' . " and jumps over the $hurdle"; ?> 


작은 따옴표를 안팎으로 짜는 것이 효과가 있지만, 이스케이프 문자 사용이라는 약간 더 우아한 해결책이 있습니다.


THE GREAT ESCAPE 


이제 많은 기대를 모으고 있는 답변에 대해 – 이스케이프 시퀀스는 세상에서 무엇입니까? 어떻게 작동하고, 어떻게 사용하며, 무엇이 중요하고, 위의 문제와 어떻게 관련이 있습니까?


이스케이프 문자란 무엇입니까? 


먼저 "공식 정의"에 대해 Wikipedia에서 빠른 인용문을 작성하겠습니다.


컴퓨팅 및 통신에서 이스케이프 문자는 문자 시퀀스에서 후속 문자에 대한 대체 해석을 호출하는 문자입니다. 이스케이프 문자는 메타 문자의 특별한 경우입니다. 


아마 그다지 도움이 되지 않았습니다. 그러나 평신도 용어에서 다시 말하지만, 그들은 다른 의미를 나타내는“특수 인물”입니다. 예를 들어, URL에 빈 공간이 없는 방법을 기억하십니까? http://365ok.co.kr/doge.php?foo=hello world는 잘못된 URL이며 작동하지 않습니다.


PHP에서 이스케이프 시퀀스 


위의 소개에서와 같이 큰 따옴표를 사용하여 문자열을 정의한 다음 백 슬래시 (\)로 시작하고 그 뒤에 몇 개의 다른 문자가 와야 합니다. 다음은 PHP에서 일반적인 이스케이프 문자의 예입니다.

  • \r Carriage return
  • \n New line
  • \t Tab
  • \" Represents a double quote (in a double-quoted string)
  • \' Represents a single quote (in a single-quoted string)
  • \$ Represents a dollar sign (in a double-quoted string)
  • \\ Represents a backslash.


아래의 엑스트라 섹션에 이스케이프 문자의 전체 목록에 대한 링크를 남겨 두겠습니다. 그러나 지금은 날카로운 코드 닌자가 탈출 캐릭터가 할 수 있는 일을 이미 알아 내야 했습니다.


ESCAPING CHARACTERS 


이제 이스케이프 문자가 무엇인지 알았으므로 위의 문제를 해결하기 위해 이 문자를 사용하는 방법은 다음과 같습니다.


<?php $hurdle = "moon"; // This does not work // $string = "John's quick brown Doge says "moonmoon" and jumps over the $hurdle"; $escaped = "John's quick brown Doge says \"moonmoon\" and jumps over the $hurdle."; echo $escaped; ?> 


PAINS WITH ESCAPING 


예, 그렇게 간단합니다. 큰 따옴표에 슬래시를 추가하면 문제가 해결됩니다. 그러나 탈출 슬래시 자체가 때때로 문제가 될 수 있다는 점에 특별한 주의를 기울이십시오.


<?php // This does not work // $basepath = "D:\test\"; // Add more slashes to represent a slash... $basepath = "D:\\test\\"; ?> 


ADD AND STRIP SLASHES 


마지막으로 addslashes() 함수를 사용하여 문자를 빠르게 이스케이프하고 stripslashes()를 사용하여 문자를 되돌릴 수 있습니다.


<?php // This is a string that you want to save $string = "Doge says \"moonmoon\"."; echo $string . "<br>"; // Into SQL - add slashes to escape the quotes $string = addslashes($string); $sql = "INSERT INTO `table` (`id`, `text`) VALUES (9, \"$string\");"; echo $sql . "<br>"; // You can strip the slashes to get back the original $string = stripslashes($string); echo $string . "<br>"; ?> 



유용한 비트 


이 프로젝트의 전부입니다. 여기에 유용한 추가 링크에 대한 작은 섹션이 있습니다.


참조 및 링크 




댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.