목록escape (3)
준호씨의 블로그
가끔 json 정보를 직접 만들 때가 있습니다. 그런데 문자열 값을 만들려면 큰따옴표 안에 또 큰따옴표를 입력해야 하는데요. 아래처럼 그냥 만들다 보면 json 구조가 깨져서 나중에 json파싱 할 때 오류가 발생합니다. { "lastName": "홍", "extra": "{"type":"BIG"}" } json 문자열 값에 큰따옴표를 사용하려면 아래처럼 해야 됩니다. { "lastName": "홍", "extra": "{\"type\":\"BIG\"}" } 큰따옴표 앞에 역 슬래쉬(\)를 넣어 주었는데요. 이렇게 하면 나중에 실제로 값을 꺼낼 때는 역 슬래쉬를 지우고 큰따옴표만 사용하게 됩니다. 큰따옴표 외에도 역 슬래쉬, 개행, 탭 등 몇 가지 특수 문자들은 escape처리를 해 주어야 하는데요. 직..
perl 로 cgi 나 스크립트를 작성할 때 문자열을 파싱해서 사용하는 경우가 많다. 그럴 때 정규표현식을 쓰게 되는데 간혹 특수 문자를 정규표현식에 넣다 보면 문제가 발생하곤 한다. 검색어를 정규표현식에 넣어서 검색을 할 때 검색어에 "+apple" 를 넣게 되면 + 가 특수 문자이기 때문에 오류가 발생하거나 오동작 하게 된다. 오류 발생 Quantifier follows nothing in regex; marked by
hbs 파일에 {{}} 이런거 써두면 서버에서 먼저 읽어서 변환 시켜 버리기 때문에 클라이언트에서 사용 할 수 없다. 이럴 때 어떻게 할지 해결 방법 escape 단순히 {{ 앞에 \ 를 넣어서 escape 시켜서 사용 한다. 단순한 방법으로 사용 할 수 있다. 다만 코드가 좀 지저분 해 지는 단점이 있다. 아래와 같은 handlebars 템플릿 코드가 있으면 {{body}} 아래와 같이 바꿔 주면 된다. \{{body}} precompile 코드는 깔끔해지긴 하지만 클라이언트 사이드 템플릿이 변경 되면 매번 컴파일 해 줘야 되는 불편함이 있다. 처음보는 사람인 경우 직관적으로 이해하기 어렵다. npm install handlebars -g handlebars client-template1.handleb..