따옴표, 싱글따옴표,역슬러쉬 문자에 대하여 > MySQL Tip

본문 바로가기
 

따옴표, 싱글따옴표,역슬러쉬 문자에 대하여

페이지 정보

작성자 이름으로 검색 댓글 0건 조회 14,434회 작성일 05-08-07 16:07

본문



따옴표, 싱글따옴표,역슬러쉬 문자에 대하여
 

글쓴이 : 강동길


저작권자 이메일 :

webmaster@koreaphp.co.kr


출처 :

koreaphp.co.kr


작성일 : 2002/04/24 16:20:49


 


글내용 본 내용은 HTML 형식으로
쓰여졌습니다. 소스를 보시려면

버튼을 누르세요.




저두 하다보면 헷갈리는 문제들이 많습니다.

우선 초보님들에게 권하는 방법은 ' 싱글퀘테이션 앞으로는 싱글이라고 하겠습니다.

싱글을 사용하시라고 권해 드리고 싶습니다.



더블의 경우는 echo 문 안에 " "; 때문에 에러가 납니다.

다음의 예를 한번 보실까욤..



111.php3 라고 한다음 다음과 같이 파일을 만든다.



<?

echo "
1 ";

echo " 나는 바보다 ";

echo "
2 ";

echo " 나는 '바보'다 ";

echo "
3 ";

echo " 나는 바보다 ";

echo "
4 ";

$str= " 나는 바보다";

echo " $str ";

echo "
5 ";

$str= " 나는 '바보'다";

echo " $str ";

echo "
6 ";

$str= " 나는 "바보"다";

echo " $str ";

echo "
7 ";

$str= " 나는 바보다";

echo " $str ";

echo "
8 ";

// $str= " 나는 "바보"다"; 요건 에러가 납니다.

// echo " $str "; 그래서 주석처리한겁니다.

echo "
9 ";

$str= " 나는 바보다";

echo " $str ";



?>



결과값을 볼까요?

*******************



1 나는 바보다 // 정상적이니 당근이 되겠죠.

2 나는 '바보'다 // php에서는 " 대신 '을 사용하면 별 문제가
없습니다.

3 나는 바보다 // 역쉬 echo안에서는 그대로 보입니다.

4 나는 바보다 // 변수안에 정상적이 잘 보입니다.

5 나는 '바보'다 // 위에 2번과 같은 결과가

6 나는 "바보"다 // 변수 선언시 를 붙이고 더블을 사용해야 됩니다.

7 나는 바보다 // 는 에러는 안나므로 두개 붙여도 한개만 나옵니다.

8 // 이건 아예 표시도 안됩니다. 에러라서리
주석처리함

9 나는 바보다 //는 그냥 표시됩니다.

*******************



해보시면 압니다.



perl 에서는 ",',에 모두 역슬러쉬를 붙었읍니다. 그러나 php에서는 더블에만

주의를 하시면 큰 무리가 없습니다.



이러한 데이터를 불러오고 저장하는 가운데 많은 에러가 발생합니다.

특히 php소스 코드를 보여주는 부분에서는 특히 많이 그렇습니다. 그래서 보통의

경우에는 입력 받은 값을 addslashes하고 저장한 뒤에 echo문으로 출력하면 됩니다.



하지만 이런 경우 괜히 ',까지 하게 되는 경우가 많아서 아예 str_replace

으로 더블만 '로 변경하여 저장 하기도 합니다.



이런 것은 자신이 편한 방법으로 하세요.



대개 파일 방식의 경우 기존의 cgi용 프로그램을 그냥 php로 포팅만 한 경우가

많아서 해주지 않아도 되는 싱글을 해주는 경우가 있는데 소스에 별 무리가 없으면

수정하실 필요가 없읍니다.



가장 좋은 방법은 싱글을 많이 사용하고 입력자에게 받은 문자열은 assslashes해주시고 출력해주면
됩니다. 아직도 수많은 게시판들이 이런 사소한 것들에 대하여 조치를 안 취하고 있습니다.

제로보드는 그중에 한가지 입니다. 대신 절대 테스트는 하시지 마세욤 하실거면 하신 후 지워주세욤 그럼 아래는
함수 설명입니다.





함수 사용법

문자열을 변경하는 방법은 여러가지입니다.

1. str_replace("찾을문자열","바꿀문자열",$변경할문장의변수명)

2. 문자열에 ',", 를 가지고 잇을 경우

addslashes($변경할문장의변수명)

하시면 모두 ",', 로 변경이 됩니다.

3. 반대로 하실려면

stripslashes($$변경할문장의변수명)

하시면 모든 내용이 반대로 됩니다.



요것은 오렌지블루가 적은 글이여욤 추천 추천 부탁합니당.

댓글목록

등록된 댓글이 없습니다.