본문 바로가기

스크립트/Php 코드 팁

php 문자열 함수


1.addslashes(문자열)

:문자열이 작은따옴표나 큰따옴표 또는 역슬래시 같은 문자를 담고 있을 경우 이 문자 앞에 역슬래시 문자를 추가하여 준다. 데이터베이스 질의어 사용시 따옴표 같은 문자의 중복으로 인한 오류를 피하기 위해 사용한다.

 

2.stripslashes(문자열)

:역슬래시 처리가 된 문자에서 역슬래시를 제거하여 원상태로 되돌린다.

 

3.htmlspecialchars(문자열)

사용자가 HTML 코드를 포함하는 문자열을 입력 전송했을 때 이 HTML 코드를  HTML 형태가 아닌 문자열 그대로 출력해 준다.

 

<textarea name=comment cols=50 rows=10></textarea>

텍스트 폼 안에  <a href="http://www.daum.net">이승혁</a> 를 입력한 후 전송했을 때 결과

 

echo  $comment;                                //  이승혁

echo htmlspecialchars($comment);      // <a href="http://www.daum.net">이승혁</a>    
                                                     

php.ini 중 magic_quotes_gpc 항목이 on일 경우:

<a href=\"http://www.daum.net\">이승혁</a>  로 출력된다.

 

4.nl2br(문자열)

:사용자가 입력한 문자열을 사용자가 입력한 그대로 줄바꿈 처리해 준다.

 

5.echo(문자열)

:입력한 문자열을 출력한다.

 

6.print()

:입력한 문자열을 출력한다.

 

7.sprintf(형식,변수)

:문자열을 지정한 형식으로 반환한다.

$a=18.2;

$b=7.4

sprintf("%03.2f - %0.2f", $a, $b)  //025.6-10.08    : 뒤에 문자들을 처음 인자에 차례로 대입

                                                 %d:정수   %04d:네 자리로 출력하되 빈 공간은 0으로 채운다

                                                 %f:부동소수   %'x4.2f : 실수를 네 자리로 출력하되 빈 공간은 x로 채우고, 소수점 이하 2자리 출력

                                                                                 0 이외의 문자는 문자 앞에 '를 붙여준다.

 

8.printf (형식,변수)

:지정한 형식대로 문자 출력. sprintf()와 같다.

 

9.explode(구분자, 문자열 , [배열의 최대크기])

:문자열을 지정해 준 구분자로 분리하여 배열에 저장한다.

 

ex1:

$fruit="사과-귤-감-오렌지";

$name=explode("-", $fruit); //"$name[0]=사과 , $name[1]=귤, $name[2]=감, $name[3]=오렌지" 가 입력된다.

 

ex2:

$name=explode("-", $fruit, 3);   //$name[0]=사과, $name[1]=귤, $name[2]=감-오렌지

                                                배열최대크기가 3이므로 마지막 3번째 배열에 남은 모든 배열 값이 저장된다.(구분되지 않은채)

 

 

 

10.implode(구분자,문자열)

explode()와 반대의 기능으로 각 배열을 구분자로 연결하여 하나로 출력한다.

 

11.join (구분자, 문자열)

:implode()와 동일한 기능을 수행

 

12.split (패턴, 문자열, [배열의 최대크기])

:explode()함수와 비슷한 기능을 하지만, 구분자 대신 정규 표현식을 사용하여 좀 더 정교하게 문자열을 분리할 수 있다.

 

13.strcmp(문자열1, 문자열2)

:두 개의 문자열을 비교하여 일치하면 0, 일치하지 않으면 앞문자가 크면 1, 뒷문자가 크면 -1 반환

 

14.substr(문자열, 시작위치값, [추출할 길이])

:문자열의 일부를 추출할 때 사용한다.

시작 위치값: 양수이면 앞에서부터 음수이면 뒤에서 부터이다.

                  앞에서부터일 경우는 0, 뒤에서부터일 경우는 1부터 시작한다.

추출할 길이:음수이면 추출한 결과값에서 문자열의 끝에서 그 길이만큼을 잘라낸다.

                 생략시 지정한 시작 위치값부터 끝까지 추출한다.

 

substr("abcdefg", 1, 3)      //bcd

substr("abcdefg", -3)        //efg

substr("abcdefg", -3, -2)   //e

substr("abcdefg", 1, -3)     //bcd

substr("abcdefg", -6, -1)   //bcdef

 

15.strstr(문자열, 찾고자하는 문자열)

:전체 문자열에서 찾고자하는 문자열이 처음 나온 위치부터 끝까지 반환한다.

 

$email = 'user@example.com '
$domain = strstr($email, '@'
);
echo
$domain; // @example.com 을 출력.

 

16.stristr(문자열, 찾고자하는 문자열)

:strstr()은 대소문자를 구별하지만 이 함수는 대소문자를 구분하지 않는다.

 

17.strchr(문자열, 찾고자하는 문자열)

:strstr() 함수의 별칭으로 strstr() 함수와 완전히 동일하다.

 

18.strrchr(문자열, 찾고자하는 문자열)

:전체 문자열을 검사하고 찾고자 하는 문자열이 마지막으로 나타나는 위치부터 끝까지 반환

 

19.strpos(문자열, 찾고자하는 문자열, [검색시작위치값])

:검색 대상 문자열이 처음으로 나타나는 위치를 정수형으로 반환한다.

 

20.strrpos(문자열, 찾고자하는 문자열)

:검색 대상 문자열이 마지막으로 나타나는 위치를 정수형으로 반환한다.

 

21.strlen(문자열)

:문자열의 길이를 반환한다.

 

22.strtolower(문자열)

:문자열을 소문자로 바꿔준다.

 

23.strtoupper(문자열)

:문자열을 대문자로 바꿔준다.

 

24.ucfirst(문자열)

:문자열의 첫 글자를 대문자로 바꾼다.

 

25.ucwords(문자열)

:문자열의 각 단어의 첫 글자를 대문자로 바꾼다.

 

26.strrev(문자열)

:문자열의 순서를 정반대로 바꾼다.

 

27.strtr(문자열, 원래 문자, 치환하고픈 문자)

:문자열에서 특정 문자를 새로운 문자로 바꾼다.

 

ex)

$str="a blue angel of Hyper world";

strtr($str, "angel", "seagull");   //a blue seagu of Hyper world  :5자리만 치환되고 나머진 무시

strtr($str, "angel", "sea");       // a blue seael of Hyper world   :3자리만 치환되고 나머진 원래 문자 그대로

 

ex)

$str="What a wonderful day";

$arr=ary("wonderful"=>"nice", "day"=>"night");

strtr($str, $arr)      //What a nice night : 배열 사용시 키에 해당하는 문자를 배열의 값으로 모두 치환한다.

 

28.str_replace(원래문자, 치환하고픈 문자, 문자열)

strtr()과 유사하나, 자리수를 따지지 않고 모든 문자를 그대로 치환한다.

ex)

$str=a blue angel of Hyper world

str_replace("angel", "seagull", $str);      //a blue seagull of Hyper world

 

29.chop(문자열)

:문자열 뒷부분의 공백을 제거한다.

 

30.trim(문자열)

:문자열 앞 뒤의 공백을 모두 제거한다.

 

31.ltrim(문자열)

:문자열 앞 부분 공백을 제거한다.

 

32.rtrim(문자열)

:문자열 뒷 부분 공백을 제거한다.

 

33.quotemeta(문자열)

:메타 문자 앞에 역슬래시 문자를 붙여 반환한다.

메타문자로 취급하는 문자: .  \\  +   *   ?   [  ^   ]   (   $   )

 

34.ord(문자열)

:문자열의 첫 번째 문자에 대한 아스키 코드값을 반환한다

 

35.chr(아스키코드값)

:아스키 코드값에 해당하는 문자를 반환한다.

 

36.parse_str(문자열)

:GET 방식으로 넘어오는 변수들을 따로 저장할 수 있다.

 

ex)

$str="page_num=1&key=php&keyoword=subject";

parse_str($str);             //page_num=1, key=php, keyword=subject 가 저장

 

37.strip_tags(문자열, [허용할 태그])

:인자로 전달받은 문자열에서 HTML과 PHP 태그를 모두 제거한 문자열을 반환한다.

 

38.ob_start()

출력버퍼링을 사용할 수 있도록 한다.

 

39.ob_get_contents()

:출력 버퍼에 저장되어 있는 내용을 반환한다.

 

40.ob_end_flush()

출력 버퍼에 저장되어 있던 내용을 비우고 출력 버퍼링 기능을 해제한다.

 

41.ob_end_clean()

:출력 버퍼의 내용을 비우고 버퍼링 기능을 해제한다.

 

42.flush()

:출력 버퍼의 내용을 비운다.

 

43.str_repeat(반복할 문자, 반복횟수)

:문자열을 지정한 횟수만큼 반복 출력한다.

 

44.substr_count(문자열, 특정문자)

문자열에서 특정문자열이 몇 번 반복 되었는지 횟수를 반환한다.

 

45.crypt(문자열)

:인자로 전달한 문자열을 암호화한다.

 

46.chunk_split(문자열, 기호삽입간격, 삽입할기호)

특정 문자열 길이마다 특정 기호를 붙여준다.

 

47.wordwrap(문자열, 길이, 구분자, 단어나눔여부)

지정한 문자열을 특정 구분자로 나누어준다.

단어나눔여부 : 1이상의 수를 지정시 한단어도 지정한 길이로 나누어준다.

                     지정하지 않았을 때는 하나의 단어는 지정한 길이를 초과하더라도 나누지 않는다.

 

$text = "A very long woooooooooooord.";
wordwrap($text,2,"<br>")     //A-very-long-woooooooooooord.
wordwrap($text,2,"*",1);     //A*ve*ry*lo*ng*wo*oo*oo*oo*oo*oo*or*d.

 

48.bcsub(앞문자, 뒷문자, [소수점이하자리수])

앞에 숫자에서 뒤의 숫자를 뺀 값을 문자열로 반환한다.

이때 결과 값은 지정한 소수점 이하 자리수까지 계산되며 미지정시 정수로 반환된다